Fehler abfangen mit try/except
In dieser Lektion lernst du, wie du mit try und except Fehler abfangen kannst, damit Programme nicht sofort abbrechen.
Worum geht es in dieser Lektion?
Programme können Fehler enthalten oder zur Laufzeit auf Probleme stoßen. Typische Beispiele sind falsche Benutzereingaben, das Öffnen einer Datei, die nicht existiert, oder ein ungültiger Zugriff auf eine Liste.
Warum entstehen Fehler?
Ohne besondere Behandlung führt ein solcher Fehler oft dazu, dass das Programm mit einer Fehlermeldung abbricht. Mit try und except kann man solche Situationen gezielt abfangen.
Wie arbeiten try und except?
Der Code im try-Block wird normal ausgeführt. Tritt dabei ein Fehler auf, springt Python in den except-Block. Dort kann zum Beispiel eine verständliche Meldung ausgegeben werden.
Warum ist das wichtig?
So werden Programme robuster und benutzerfreundlicher, weil sie bei typischen Problemen nicht sofort abstürzen.
Beispiel 1
Dieses Beispiel zeigt, wie du eine Benutzereingabe mit try und except absicherst. So kann das Programm eine falsche Eingabe abfangen, ohne abzustürzen.
try:
zahl = int(input("Gib eine Zahl ein: "))
print("Du hast die Zahl", zahl, "eingegeben.")
except:
print("Das war keine gültige ganze Zahl.")
Beispiel 2
Hier siehst du, wie ein Fehler beim Zugriff auf eine Liste abgefangen werden kann. Das ist nützlich, wenn ein Index nicht vorhanden ist.
zahlen = [10, 20, 30]
try:
print(zahlen[5])
except:
print("Dieser Index ist in der Liste nicht vorhanden.")
Merksatz
Mit try und except kannst du Fehler abfangen, damit ein Programm bei typischen Problemen nicht sofort abbricht.
Aufgabe
Schreibe ein Programm, das eine Zahl mit input() einliest und mit int() umwandelt.
Fange mögliche Fehler mit try und except ab, sodass bei einer falschen Eingabe eine verständliche Meldung ausgegeben wird.
Erstelle danach ein zweites Programm mit einer Liste und versuche, auf ein Element mit einem ungültigen Index zuzugreifen. Fange auch diesen Fehler mit try und except ab.