Wie kann ich einen `try`/`except`-Block schreiben, der alle Ausnahmen abfängt?
Sie können alle Ausnahmen abfangen, indem Sie die Klasse Exception
im except
-Block verwenden, wie folgt:
try:
# Code, der eine Ausnahme auslösen kann
except Exception:
# Code zum Behandeln der Ausnahme
Es ist auch möglich, mehrere Ausnahmetypen gleichzeitig abzufangen, indem man sie als Tuple auflistet:
try:
# Code, der eine Ausnahme auslösen kann
except (ExceptionType1, ExceptionType2):
# Code zum Behandeln der Ausnahme
Es ist jedoch nicht empfehlenswert eine bloße except-Klausel zu verwenden, da dies auch unerwartete und unbeabsichtigte Ausnahmen wie SystemExit
und KeyboardInterrupt
fängt, was die Fehlerbehebung erschwert und das Programm beeinträchtigt.
Sie können auch das Schlüsselwort as
in der except-Klausel verwenden, um dem Ausnahmeobjekt einen Namen zu geben und so auf das Ausnahmeobjekt zugreifen zu können.
try:
# Code, der eine Ausnahme auslösen kann
except Exception as e:
# Code zum Behandeln der Ausnahme
print(e)
Es ist eine gute Praxis, nur die spezifischen Ausnahmetypen abzufangen, die man erwartet und diese entsprechend zu behandeln.