This is an old revision of the document!
Fehlerbehandlung mit Python
In den seltensten Fällen, will man, dass ein Programm bei fehlerhafter Eingabe abstürzt. Dafür gibts es Fehlerbehandlung. Es ist zwar auch grundsätzlich eine gute Idee so zu programmieren, dass keine Abstürze passieren. Damit ist gemeint, dass jede Eingabe geprüft werden muss. Wird bei der Frage nach dem Alter irgendein Text eingegeben so kommt es im Laufe der Berechnungen bestimmt zu Fehlern.
Leider lassen sich Fehler trotzdem nicht gänzlich verhindern. Was uns wieder zur Fehlerbehandler (oder ExceptionHandling) bringt und hier beschrieben wird.
Bei den Listen lists in Python3 sind zwei Beispiele vorgekommen, die abstürzen. Das war die Methode listremove_element und die Methode listindex_element. Hier wird das Programm absturzfrei gemacht.
try catch remove
Noch einmal das abstürzende Programm in gekürzter Fassung:
list = [0, 1, 1, 123533219, 2, 3, 5, 8, 13] list.remove(123533219) # Die nächste Zeile wirft einen ValueError und das Programm stoppt list.remove(123533219) # Diese Zeile wird nicht mehr ausgeführt print(list)
Wir packen das nun in einen try catch Block
list = [0, 1, 1, 123533219, 2, 3, 5, 8, 13] try: list.remove(123533219) # Die nächste Zeile wirft einen ValueError, da 123533219 schon entfernt wurde, und das Programm fällt in den catch Block list.remove(123533219) except ValueError: print("Konnte Element nicht entfernen, da es nicht in der Liste ist") # Nun läuft das Programm weiter und die Liste kann ausgegeben werden print(list)