Drucken einer Exception in Python
-
Drucken Sie eine Ausnahme mit
try-except-finally
-Blöcken in Python -
Druckausnahme mit dem Modul
traceback
in Python
In Python ist eine Ausnahme ein Fehler. In Python gibt es viele Fehler oder Ausnahmen, wie z. B. TypeError
, SyntaxError
, KeyError
, AttributeError
usw. In Python verwenden wir try-except-finally
, um diese Ausnahmen zu behandeln, da ohne diese Blöcke Diese Ausnahmen würden die Ausführung des Programms stoppen. try-except-finally
-Blöcke in Python können verwendet werden, um diese Ausnahmen zu drucken, ohne die Programmausführung anzuhalten.
Drucken Sie eine Ausnahme mit try-except-finally
-Blöcken in Python
Betrachten Sie das folgende Code-Snippet.
dictionary = {
"hello": "world",
}
number = 25
try:
number = number + dictionary["hello"]
print(number)
except Exception as e:
print(repr(e))
Ausgabe:
TypeError("unsupported operand type(s) for +: 'int' and 'str'",)
Im obigen Code initialisieren wir zuerst ein Dictionary mit hello
als Schlüssel, der auf den Zeichenkettenwert world
zeigt, und eine Variable number
. Dann versuchen wir im Block try
, auf den im dictionary
gespeicherten Zeichenkettenwert zuzugreifen und ihn der Variablen number
hinzuzufügen.
Diese Aussage ist sowohl praktisch als auch konzeptionell falsch, da es unmöglich ist, einer integer
einen string
hinzuzufügen. Der Block except
fängt diesen Fehler ab und druckt das dieser Ausnahme zugeordnete Objekt Exception
in der Konsole.
Druckausnahme mit dem Modul traceback
in Python
Python verfügt über ein integriertes Modul, traceback
, zum Drucken und Formatieren von Ausnahmen. Und es macht es einfach, die gesamte Ausnahme in der Konsole zu drucken.
In Python können Sie Ausnahmen manuell mit dem Schlüsselwort raise
auslösen. Im folgenden Codeausschnitt verwenden wir das Schlüsselwort raise
, um Ausnahmen innerhalb des Blocks try
auszulösen.
import traceback
try:
raise KeyError
except Exception as e:
traceback.print_exc()
Ausgabe:
Traceback (most recent call last):
File ".\main.py", line 4, in <module>
raise KeyError
KeyError
Im obigen Code lösen wir eine KeyError
-Ausnahme aus und verwenden die Funktion print_exc()
aus dem Modul traceback
, um die Ausnahme zu drucken. Diese Funktion gibt die Informationen zur Ausnahme aus und ist eine Abkürzung für traceback.print_exception(*sys.exc_info(), limit, file, chain)
.
Weitere Informationen zur Funktion print_exception()
finden Sie in den offiziellen Dokumenten hier.