Python Fehler und Ausnahmen: Erweitertes & Deep Dive Tutorial

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Python Fehler und Ausnahmen: Erweitertes & Deep Dive Tutorial

In der Welt der Programmierung sind Fehler keine Feinde, sondern Ihre ehrlichsten Gesprächspartner. Sie versuchen nicht, Sie zu verwirren; sie zeigen direkt auf Schwachstellen im Code und helfen dabei, Programme robuster und stabiler zu machen. Python verfügt über ein leistungsstarkes und flexibles System zur Fehlerbehandlung, das auf dem Konzept der „Ausnahmen“ (Exceptions) basiert. Zu verstehen, wie Ausnahmen funktionieren, welche Arten es gibt und wie man sie richtig behandelt, ist nicht nur eine Fähigkeit, sondern ein echter Meilenstein für jeden Python-Entwickler – vom Anfänger bis zum Profi.

Dieser Artikel ist Ihr vollständiger Leitfaden durch die Welt der Fehler und Ausnahmen in Python. Wir gehen den Weg von den Grundlagen bis zu fortgeschrittenen Techniken, mit denen Sie wirklich ausfallsicheren Code schreiben können.

Was ist ein Fehler in Python? Zwei Gesichter des Problems

Zunächst ist es wichtig, zwei Haupttypen von Fehlern zu unterscheiden. Stellen Sie sich vor, Sie versuchen, eine Fremdsprache zu sprechen:

  1. Syntaxfehler (Syntax Errors): Das ist, als ob Sie einen Satz mit groben Grammatikfehlern bilden. Ihr Gesprächspartner (der Python-Interpreter) versteht Sie einfach nicht und unterbricht das Gespräch, bevor Sie Ihren Gedanken zu Ende bringen. Code mit solchen Fehlern wird gar nicht erst ausgeführt.
  2. Ausnahmen (Exceptions): Sie haben einen Satz grammatikalisch korrekt gebildet, aber seine Bedeutung führt im aktuellen Kontext zu einer absurden Situation. Sie bitten zum Beispiel um „das Salz“ an einem Tisch, an dem kein Salz steht. Der Gesprächspartner versteht den Satz, kann ihn aber nicht ausführen. Genauso ist es bei Python: Der Code ist syntaktisch korrekt, aber während der Ausführung tritt eine unvorhergesehene Situation auf (Division durch Null, Zugriff auf eine nicht existierende Datei). Wenn eine solche Situation nicht vorhergesehen und behandelt wird, bricht das Programm ab.

Syntaxfehler: Die Wächter der Code-Grammatik

Dies ist die am einfachsten zu behebende Fehlerart, da der Python-Interpreter in der Regel genau auf die Problemstelle hinweist, wie ein Lehrer, der einen Fehler in einem Diktat unterstreicht.

SyntaxError

Was ist dieser Fehler?

Der häufigste Syntaxfehler. Er bedeutet, dass Sie die Regeln der Sprache verletzt haben: Sie haben einen Doppelpunkt vergessen, eine Klammer nicht geschlossen, einen falschen Operator verwendet und so weiter.

Beispielcode, der den Fehler auslöst

# Beispiel 1: Doppelpunkt nach der Bedingung vergessen
 ifx = 10if x > 5    
print("x ist größer als 5")
Traceback:File "main.py", line 2if x > 5^SyntaxError: expected ':'
Beispiel 2: Nicht geschlossene Klammer
print("Hallo, Welt
"Traceback:File "main.py", line 1print("Hallo, Welt"^SyntaxError: '(' was never closed

Wie behebt man ihn?

Lesen Sie die Fehlermeldung aufmerksam. Der Interpreter setzt normalerweise ein Caret-Zeichen (^) unter die Stelle, an der er das Problem entdeckt hat. Korrigieren Sie den Code entsprechend der Python-Syntax.

# Korrigierter Code
x = 10if x > 5:    
    print("x ist größer als 5")
print("Hallo, Welt")

IndentationError / TabError

Was ist dieser Fehler?

Ein für Python einzigartiger Fehler im Zusammenhang mit Einrückungen. Python verwendet Einrückungen, um Codeblöcke zu definieren. IndentationError tritt auf, wenn die Einrückung falsch verwendet wird, und TabError, wenn Tabulatoren und Leerzeichen gemischt werden.

Beispielcode, der den Fehler auslöst

def my_function():
print("Dies ist der Funktionskörper")  # Falsche Einrückung
Traceback:File "main.py", line 2print("Dies ist der Funktionskörper")^IndentationError: expected an indented block

Wie behebt man ihn?

Achten Sie auf eine einheitliche Einrückung. Der Standard PEP 8 empfiehlt die Verwendung von 4 Leerzeichen pro Verschachtelungsebene. Konfigurieren Sie Ihren Code-Editor so, dass er Tabulatoren automatisch durch 4 Leerzeichen ersetzt – das erspart Ihnen viele Probleme.

# Korrigierter Code
def my_function():
    print("Dies ist der Funktionskörper") # Korrekte Einrückung mit 4 Leerzeichen

Blogs

Buchempfehlungen