try ohne except in Python
Ausnahmen in Python sind die Fehler, die während der Ausführung des Codes erkannt werden. Verschiedene Arten von Ausnahmen sind NameError
, TypeError
, ZeroDivisionError
, OSError
und mehr.
Die try
-Anweisung in Python wird verwendet, um einen Codeblock auf Ausnahmen zu testen, und die except
-Anweisung wird verwendet, um diese Ausnahmen zu behandeln. Wenn der Code im try
-Block einen Fehler auslöst, wird der Code im Exception
-Block ausgeführt.
Wir können alle Ausnahmen abfangen, einschließlich KeyboardInterrupt
, SystemExit
und GeneratorExit
. Diese Methode sollte nicht zur Behandlung von Ausnahmen verwendet werden, da sie eine allgemeine Anweisung ist und alle trivialen Fehler verbirgt.
Wir werden diskutieren, wie man den try
-Block ohne except
in Python verwendet. Um dies zu erreichen, sollten wir versuchen, die Ausnahme zu ignorieren.
Wir können den try
-Block nicht ohne except
haben, also können wir nur versuchen, die ausgelöste Ausnahme zu ignorieren, damit der Code nicht in den except
-Block geht, und die pass
-Anweisung in der except
angeben Block wie zuvor gezeigt. Die Anweisung pass
entspricht einer leeren Codezeile.
Wir können auch den finally
-Block verwenden. Es führt Code aus, unabhängig davon, ob eine Ausnahme auftritt oder nicht.
try:
a = 1 / 0
except:
pass
finally:
print("Example")
Ausgabe:
Example
Wenn im obigen Code der try
-Block einen Fehler auslöst, gibt der except
-Block die ausgelöste Ausnahme aus.
Um Ausnahmen zu ignorieren, können wir die Funktion suppress()
aus dem Modul contextlib
verwenden, um Ausnahmen in Python zu behandeln
Mit der Funktion suppress()
aus dem Modul contextlib
können ganz bestimmte Fehler unterdrückt werden. Diese Methode kann nur in Python 3 verwendet werden.
Zum Beispiel,
from contextlib import suppress
with suppress(IndexError):
a = [1, 2, 3]
a[3]
Im obigen Beispiel wird der IndexError
nicht ausgelöst.