Als developer, wil ik fouten opvangen op de plek waar ze kunnen ontstaan, zodat mijn programma een duidelijke melding geeft in plaats van te crashen.
int("vijftig") crasht met ValueError. Dit is het moment om exceptions te leren kennen β het antwoord op fouten.
Tot nu toe crasht jouw code abrupt als iets fout gaat. Nu ga je leren exceptions af te vangen (proberen en voorkomen dat het crasht).
Een exception is een fout die Python opwerpt. De meest voorkomende:
# ValueError β fout type/waarde
int("vijftig") # ValueError!
# KeyError β sleutel niet in dictionary
d = {"x": 10}
d["y"] # KeyError!
# IndexError β index buiten bereik
lst = [1, 2, 3]
lst[10] # IndexError!
temp_str = "invalid"
temp = int(temp_str)
print(f"Temp: {temp}")
# ValueError!
# Script stopt.
try:
temp = int(temp_str)
except ValueError:
print("Ongeldig getal!")
temp = 0
print(f"Temp: {temp}")
try:
value = int("vijftig") # Dit gaat fout
except ValueError:
print("Fout: je invoer is geen getal!")
value = 0
print(f"Waarde: {value}") # Voert altijd uit
Voer waarde in:
try/except als je weet dat iets fout kan gaan. De code loopt door in plaats van crash.
Experimenteer: proef hoe exceptions werken en hoe try/except ze afvangt.
Je hebt een sensor die gegevens doorstuurt. Soms is de waarde ongeldig. Bestand: sensor_safe.py
sensor_reading met een string-waarde (bijv. "25.5", "invalid", of "-10").float() te converteren.ValueError af. Bij fout: print een duidelijk bericht en zet een default-waarde.Acceptatiecriteria
sensor_safe.py.try/except ValueError.