Fehlerbehandlung in Python

Techniken zur Verwaltung von Ausnahmen und zum Debuggen von Code

Lernen Sie, wie Sie Ausnahmen behandeln und Ihren Python-Code effektiv debuggen können. Dieses Tutorial behandelt try/except-Blöcke, Protokollierung und gängige Debugging-Techniken zur Verbesserung der Zuverlässigkeit Ihres Codes.

Programmierung
Autor:in
Zugehörigkeit
Veröffentlichungsdatum

5. Februar 2024

Geändert

29. April 2025

Schlüsselwörter

Python-Fehlerbehandlung, Python-Fehlersuche, try except, Fehlersuche in Python, Python-Protokollierung

Einführung

Die Fehlerbehandlung ist eine entscheidende Komponente beim Schreiben von robustem und zuverlässigem Python-Code. Indem Sie potenzielle Fehler vorhersehen und Ausnahmen elegant verwalten, können Sie verhindern, dass Ihre Programme unerwartet abstürzen, und den Benutzern oder Entwicklern ein sinnvolles Feedback geben. In diesem Tutorial lernen Sie, wie Sie try/except-Blöcke verwenden, um Ausnahmen abzufangen, wie Sie das eingebaute Logging-Modul verwenden, um Fehler aufzuzeichnen, und wie Sie einige gängige Debugging-Techniken zur effektiven Fehlerbehebung einsetzen.



Grundlegende Fehlerbehandlung mit try/except

Der einfachste Weg, Fehler in Python zu behandeln, ist die Verwendung eines try/except-Blocks. Damit können Sie Ausnahmen ‘abfangen’ und kontrolliert behandeln.

Beispiel: Abfangen eines Divisionsfehlers

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Error: Division by zero is not allowed!")

In diesem Beispiel löst die Division durch Null einen ZeroDivisionError aus, der durch den except-Block abgefangen wird, wodurch ein Absturz des Programms verhindert wird.

Mehrere Except-Blöcke verwenden

Sie können verschiedene Arten von Ausnahmen mit mehreren except-Blöcken behandeln. Dies ist nützlich, wenn Sie verschiedene Arten von Fehlern in Ihrem Code erwarten.

Beispiel: Behandlung mehrerer Ausnahmen

try:
    number = int("abc")  # Dies wird einen ValueError auslösen
    result = 10 / number
except ValueError:
    print("Error: The provided value is not a valid integer!")
except ZeroDivisionError:
    print("Error: Division by zero is not allowed!")

Fehlersuche mit Logging

Anstatt Fehler einfach zu drucken, ist es oft sinnvoller, sie zu protokollieren. Das Modul logging bietet einen flexiblen Rahmen für die Ausgabe von Protokollnachrichten aus Python-Programmen.

Beispiel: Fehler protokollieren

import logging

# Logging konfigurieren
logging.basicConfig(level=logging.DEBUG, format="%(asctime)s - %(levelname)s - %(message)s")

try:
    value = int("abc")  # Dies wird einen ValueError auslösen
except ValueError as e:
    logging.error("ValueError occurred: %s", e)

Wenn in diesem Beispiel ein Fehler auftritt, wird er mit einem Zeitstempel und einer Fehlerstufe protokolliert, was für die Fehlersuche in größeren Anwendungen äußerst hilfreich ist.

Fehlersuche mit dem Python-Debugger (pdb)

Für eine gründlichere Fehlersuche können Sie mit dem in Python integrierten Debugger (pdb) interaktiv durch Ihren Code gehen.

Beispiel: Verwendung von pdb

import pdb

def faulty_function():
    a = 10
    b = 0
    pdb.set_trace()  # Starten Sie den Debugger hier
    result = a / b
    return result

faulty_function()

Wenn Sie diesen Code ausführen, hält der Debugger die Ausführung bei pdb.set_trace() an, so dass Sie Variablen überprüfen und den Code schrittweise durchgehen können, um Probleme zu identifizieren.

Schlussfolgerung

Effektive Fehlerbehandlung und Debugging sind wesentliche Fähigkeiten für jeden Python-Programmierer. Durch die Verwendung von try/except-Blöcken, Protokollierung und Tools wie pdb können Sie Code erstellen, der unerwartete Fehler elegant verwaltet und einfacher zu warten und zu beheben ist. Setzen Sie diese Techniken in Ihren Projekten ein, um robustere und zuverlässigere Anwendungen zu erstellen.

Weiterführende Literatur

Viel Spaß beim Programmieren, und mögen Ihre Debugging-Sitzungen kurz und fruchtbar sein!

Weitere Artikel erkunden

Hinweis

Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.

placeholder

placeholder
Keine Treffer
Zurück nach oben

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Fehlerbehandlung in Python},
  date = {2024-02-05},
  url = {https://www.datanovia.com/de/learn/programming/python/advanced/error-handling.html},
  langid = {de}
}
Bitte zitieren Sie diese Arbeit als:
Kassambara, Alboukadel. 2024. “Fehlerbehandlung in Python.” February 5, 2024. https://www.datanovia.com/de/learn/programming/python/advanced/error-handling.html.