Else-Block beim Abfangen von Ausnahmen in Python
In die try-except-Konstruktion kann auch
ein else-Block hinzugefügt werden. Ein wichtiger Nuance
besteht darin, dass der Code im else-Block
ausgeführt wird, falls zuvor in
try-except keine Ausnahme abgefangen wurde.
Nehmen wir an, wir haben eine Liste:
lst = [1, 2, 3]
In der try-except-Konstruktion schreiben wir
das Abfangen der Ausnahme für ein nicht existierendes
Listenelement:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Nun geben wir im else-Block
die Summe aller Listenelemente aus:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Wenn der Code im try-Block auf ein
nicht vorhandenes Element zugreift, erscheint
die Fehlermeldung in der Konsole:
'error: elem is not exist'
Nun weisen wir im try-Block die Ausgabe
eines Elements zu, das definitiv in der Liste vorhanden ist:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Nach der Ausführung des Codes erscheinen in der Konsole
zwei Zahlen: das im try-Block angegebene Element
und die Summe aller Elemente der Liste:
1
6
Gegeben ist eine Liste:
lst = [1, 2, 3]
Schreiben Sie Code, um eine Ausnahme im Zusammenhang mit der Division durch Null abzufangen. Falls diese Ausnahme nicht auftritt, soll die Länge der Liste ausgegeben werden.