Gängige Ausnahmen erkennen
In diesem Schritt werden wir gängige Ausnahmen (Exceptions) in Python untersuchen. Im Gegensatz zu Syntaxfehlern treten Ausnahmen auf, wenn das Programm syntaktisch korrekt ist, aber während der Ausführung auf einen Fehler stößt. Diese Fehler können aus verschiedenen Gründen auftreten, z. B. durch ungültige Eingaben, nicht verfügbare Ressourcen oder logische Fehler.
Erstellen wir eine neue Python-Datei namens common_exceptions.py
im Verzeichnis ~/project
, um einige gängige Ausnahmen zu demonstrieren.
cd ~/project
touch common_exceptions.py
Öffnen Sie common_exceptions.py
im VS Code-Editor und fügen Sie den folgenden Code hinzu, der einen ZeroDivisionError
verursacht:
numerator = 10
denominator = 0
result = numerator / denominator
print(result)
Speichern Sie die Datei und führen Sie sie im Terminal aus:
python common_exceptions.py
Sie sehen eine ZeroDivisionError
, die darauf hinweist, dass Sie versucht haben, durch Null zu teilen.
Traceback (most recent call last):
File "/home/labex/project/common_exceptions.py", line 3, in <module>
result = numerator / denominator
ZeroDivisionError: division by zero
Ändern wir nun die Datei common_exceptions.py
, um einen NameError
zu demonstrieren. Dieser Fehler tritt auf, wenn Sie versuchen, einen Variablen- oder Funktionsnamen zu verwenden, der nicht definiert wurde.
print(undefined_variable)
Speichern Sie die Datei und führen Sie sie aus:
python common_exceptions.py
Sie erhalten einen NameError
, da undefined_variable
kein Wert zugewiesen wurde.
Traceback (most recent call last):
File "/home/labex/project/common_exceptions.py", line 1, in <module>
print(undefined_variable)
NameError: name 'undefined_variable' is not defined
Als Nächstes demonstrieren wir einen TypeError
. Diese Ausnahme tritt auf, wenn eine Operation auf ein Objekt eines ungeeigneten Typs angewendet wird. Ändern Sie common_exceptions.py
wie folgt:
print("Hello" + 5)
Speichern Sie die Datei und führen Sie sie aus:
python common_exceptions.py
Sie sehen einen TypeError
, da Sie keine Zeichenfolge und eine Ganzzahl direkt verketten können.
Traceback (most recent call last):
File "/home/labex/project/common_exceptions.py", line 1, in <module>
print("Hello" + 5)
TypeError: can only concatenate str (not "int") to str
Schließlich demonstrieren wir einen IndexError
. Diese Ausnahme tritt auf, wenn Sie versuchen, auf einen Index zuzugreifen, der außerhalb der Grenzen einer Sequenz (wie einer Liste oder Zeichenfolge) liegt. Ändern Sie common_exceptions.py
wie folgt:
my_list = [1, 2, 3]
print(my_list[5])
Speichern Sie die Datei und führen Sie sie aus:
python common_exceptions.py
Sie erhalten einen IndexError
, da die Liste nur die Indizes 0, 1 und 2 hat.
Traceback (most recent call last):
File "/home/labex/project/common_exceptions.py", line 2, in <module>
print(my_list[5])
IndexError: list index out of range
Das Verständnis dieser gängigen Ausnahmen hilft Ihnen, Ihren Python-Code effektiver zu debuggen.