Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Ausnahmen und Debugging | Control Flow & Logic
Einführung in Python mit Cursor

bookAusnahmen und Debugging

Beim Programmieren sind Fehler unvermeidlich. Einige entstehen durch logische Fehler, andere treten während der Ausführung auf – wie das Teilen durch Null, das Öffnen einer nicht vorhandenen Datei oder das Konvertieren ungültiger Eingaben.

Diese Laufzeitfehler werden als Ausnahmen bezeichnet. Python behandelt sie mit try- und except-Blöcken, sodass das Programm sich erholen oder eine verständliche Meldung anzeigen kann, anstatt abzustürzen.

Was ist eine Ausnahme?

Eine Ausnahme ist das Signal von Python, dass etwas Unerwartetes passiert ist. Sie unterbricht die normale Ausführung und zeigt eine Rückverfolgung an, sofern sie nicht behandelt wird.

Häufige Beispiele:

  • ZeroDivisionError: Division durch Null;
  • ValueError: Ungültiger Wert, z. B. die Umwandlung von "abc" in int;
  • TypeError: Unvereinbare Typen, z. B. Zahl + Zeichenkette;
  • FileNotFoundError: Öffnen einer nicht vorhandenen Datei;
  • IndexError: Listenindex außerhalb des Bereichs;
  • KeyError: Fehlender Schlüssel im Dictionary.

Ausnahmen sind eingebaute Klassen und können mit except abgefangen werden.

Behandeln von Ausnahmen mit Try und Except

Riskanter Code wird in einen try-Block eingeschlossen, um Abstürze zu vermeiden. Tritt ein Fehler auf, wechselt Python in den except-Block.

Dort können Sie eine Meldung anzeigen, Details protokollieren oder alternative Maßnahmen ergreifen.

Mehrere Except-Blöcke und allgemeines Abfangen

Spezifische Fehler können mit separaten except-Blöcken behandelt werden, oder ein allgemeiner except-Block kann verwendet werden, um unerwartete Fehler abzufangen.

Mehrere Ausnahmetypen können auch in einem Block mit Klammern gruppiert werden.

Die Else- und Finally-Klauseln

Die Fehlerbehandlung in Python kann auch else und finally enthalten:

  • else wird nur ausgeführt, wenn keine Ausnahme aufgetreten ist;
  • finally wird immer ausgeführt — auch wenn eine Ausnahme aufgetreten ist.

finally wird häufig verwendet, um Dateien zu schließen oder Ressourcen freizugeben.

Debugging mit Print

Debugging hilft, Fehlerquellen zu identifizieren. Eine einfache Methode ist das Hinzufügen von print()-Anweisungen, um Variablenwerte und den Programmablauf nachzuverfolgen.

Dies zeigt, wo Fehler auftreten, und hilft, Probleme einzugrenzen. Später können fortgeschrittene Debugger verwendet werden, aber print ist immer ein nützlicher erster Schritt.

Zusammenfassung

  • Ausnahmen sind Laufzeitfehler wie Division durch Null oder fehlende Dateien;
  • Sie können diese mit try- und except-Blöcken behandeln, um Abstürze zu vermeiden;
  • Verwenden Sie nach Möglichkeit spezifische Ausnahmetypen und finally, um Ressourcen freizugeben.
  • print() ist Ihr erstes und schnellstes Debugging-Werkzeug.
question mark

Welches Schlüsselwortpaar wird in Python zur Fehlerbehandlung verwendet?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

What are some common exceptions in Python?

Can you explain what happens if an exception is not handled?

How do you identify where an exception occurred in your code?

Awesome!

Completion rate improved to 5

bookAusnahmen und Debugging

Swipe um das Menü anzuzeigen

Beim Programmieren sind Fehler unvermeidlich. Einige entstehen durch logische Fehler, andere treten während der Ausführung auf – wie das Teilen durch Null, das Öffnen einer nicht vorhandenen Datei oder das Konvertieren ungültiger Eingaben.

Diese Laufzeitfehler werden als Ausnahmen bezeichnet. Python behandelt sie mit try- und except-Blöcken, sodass das Programm sich erholen oder eine verständliche Meldung anzeigen kann, anstatt abzustürzen.

Was ist eine Ausnahme?

Eine Ausnahme ist das Signal von Python, dass etwas Unerwartetes passiert ist. Sie unterbricht die normale Ausführung und zeigt eine Rückverfolgung an, sofern sie nicht behandelt wird.

Häufige Beispiele:

  • ZeroDivisionError: Division durch Null;
  • ValueError: Ungültiger Wert, z. B. die Umwandlung von "abc" in int;
  • TypeError: Unvereinbare Typen, z. B. Zahl + Zeichenkette;
  • FileNotFoundError: Öffnen einer nicht vorhandenen Datei;
  • IndexError: Listenindex außerhalb des Bereichs;
  • KeyError: Fehlender Schlüssel im Dictionary.

Ausnahmen sind eingebaute Klassen und können mit except abgefangen werden.

Behandeln von Ausnahmen mit Try und Except

Riskanter Code wird in einen try-Block eingeschlossen, um Abstürze zu vermeiden. Tritt ein Fehler auf, wechselt Python in den except-Block.

Dort können Sie eine Meldung anzeigen, Details protokollieren oder alternative Maßnahmen ergreifen.

Mehrere Except-Blöcke und allgemeines Abfangen

Spezifische Fehler können mit separaten except-Blöcken behandelt werden, oder ein allgemeiner except-Block kann verwendet werden, um unerwartete Fehler abzufangen.

Mehrere Ausnahmetypen können auch in einem Block mit Klammern gruppiert werden.

Die Else- und Finally-Klauseln

Die Fehlerbehandlung in Python kann auch else und finally enthalten:

  • else wird nur ausgeführt, wenn keine Ausnahme aufgetreten ist;
  • finally wird immer ausgeführt — auch wenn eine Ausnahme aufgetreten ist.

finally wird häufig verwendet, um Dateien zu schließen oder Ressourcen freizugeben.

Debugging mit Print

Debugging hilft, Fehlerquellen zu identifizieren. Eine einfache Methode ist das Hinzufügen von print()-Anweisungen, um Variablenwerte und den Programmablauf nachzuverfolgen.

Dies zeigt, wo Fehler auftreten, und hilft, Probleme einzugrenzen. Später können fortgeschrittene Debugger verwendet werden, aber print ist immer ein nützlicher erster Schritt.

Zusammenfassung

  • Ausnahmen sind Laufzeitfehler wie Division durch Null oder fehlende Dateien;
  • Sie können diese mit try- und except-Blöcken behandeln, um Abstürze zu vermeiden;
  • Verwenden Sie nach Möglichkeit spezifische Ausnahmetypen und finally, um Ressourcen freizugeben.
  • print() ist Ihr erstes und schnellstes Debugging-Werkzeug.
question mark

Welches Schlüsselwortpaar wird in Python zur Fehlerbehandlung verwendet?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt