else und finally bei Ausnahmen
else – nur wenn kein Fehler
try:
n = int(input("Zahl: "))
except ValueError:
print("Ungueltig")
else:
print(f"Super, {n} ist gueltig.")
else läuft, wenn try ohne Fehler durchkam.
finally – immer
try:
n = int("3")
except ValueError:
print("Fehler")
finally:
print("Dieser Teil kommt immer.")
Gut für Aufräumen (später bei Dateien nützlich). Am Anfang selten zwingend.
Rate mal!
try:
print(1)
except ValueError:
print(2)
else:
print(3)
finally:
print(4)
Auflösung
1
3
4
Probiere es selbst
Experiment 1
try/except/else mit int-input.
Experiment 2
finally-Zeile beobachten.
Experiment 3
Vergleiche mit und ohne else.
Übungen
Level 1
Erkläre else in einem Satz.
Level 2
Baue int-Eingabe mit else-Erfolgsmeldung.
Level 3
try/except/else/finally in einem Mini-Demo.
Level-2-Lösung
try:
x = int(input("x: "))
except ValueError:
print("Fehler")
else:
print("Alles gut:", x)
Mini-Quiz
Feinschliff sitzt! Mini-Projekt: Sicherer Rechner.