Heim >Backend-Entwicklung >Python-Tutorial >Fehlerhandhabung und Anmeldung in Python

Fehlerhandhabung und Anmeldung in Python

Jennifer Aniston
Jennifer AnistonOriginal
2025-03-06 11:44:13331Durchsuche

Error Handling & Logging in Python

In der Python -Softwareentwicklung werden verschiedene Arten von Fehlern auftreten, wie Syntaxfehler, Logikfehler und Laufzeitfehler.

Syntaxfehler treten normalerweise in den frühen Stadien der Programmentwicklung auf und werden durch falsche Syntax verursacht. Syntaxfehler können beim Kompilieren eines Programms leicht festgestellt werden.

logische Fehler werden durch eine unsachgemäße logische Implementierung verursacht, z. B. ein Programm, das auf eine unsortierte Liste zugriff, geht jedoch davon aus, dass sie sortiert ist. Logische Fehler sind eine der schwierigsten Arten von Fehlern zu verfolgen.

Laufzeitfehler sind häufige Fehler, normalerweise treten normalerweise auf, da alle Grenzsituationen nicht berücksichtigt werden. Versuchen Sie beispielsweise, auf eine Datei zuzugreifen, die nicht vorhanden ist.

Dieses Tutorial erklärt, wie sie mit Fehlern in Python umgehen und wie Sie Fehlerprotokolle protokollieren, um die Probleme in Ihrer Anwendung besser zu verstehen. Wir werden die folgenden Themen behandeln:

  • Verwenden Sie try und except, um Ausnahmen
  • zu verarbeiten
  • Multiple Ausnahmehandling
  • finally Satz
  • benutzerdefinierte Ausnahme
  • Python -Protokollierung
  • Stapel -Trace -Informationen erhalten

Python -Ausnahmehandling

Beginnen wir mit einem einfachen Python -Additionsprogramm. Das Programm nimmt zwei Parameter als Eingabe und druckt ihre Summe aus:

def addNumbers(a, b):
    print(a + b)

addNumbers(5, 10)

Führen Sie das obige Programm aus und die Summe der beiden Zahlen wird gedruckt.

Erstellen von benutzerdefinierten Ausnahmegementen kann die Lesbarkeit und Wartbarkeit Ihres Programms verbessern. Angenommen, es gibt ein Programm, das sicherstellen muss, dass der Rabattpreis des Artikels nicht höher als der Verkaufspreis ist. Wir können eine benutzerdefinierte Ausnahme für diese Art von Fehler erstellen:

class PriceError(Exception):
    pass

Fügen Sie dann dem Programm Ausnahmehandling hinzu:

def discount(price, discounted_price):
    if discounted_price > price:
        raise PriceError
    else:
        print("Discount applied")

Im obigen Code wird eine Ausnahme erhöht, wenn discounted_price größer als price ist. PriceError

Python -Protokollierung

Pythons

Modul bietet einen Mechanismus zum Aufzeichnen von Programmen, die über Fehlermeldungen ausgeführte Informationen aufzeichnen. Wir können unterschiedliche Protokollebenen wie Debug, Info, Warnung, Fehler und kritisch festlegen. Das folgende Code -Snippet zeigt, wie Informationen mithilfe des logging -Moduls aufzeichnen: logging

import logging

# 初始化日志设置
logging.basicConfig(filename='app.log', level=logging.INFO)

try:
    # ...你的代码...
except Exception as e:
    logging.exception(str(e))
Stellen Sie die Protokollebene auf Infos und die Protokollinformationen auf Info- und höheren Ebenen (einschließlich Warnung, Irrtum und kritisch) fest.

Stapel -Trace -Informationen erhalten

Im obigen Beispiel gibt es nur eine Programmdatei, sodass es leicht zu finden ist, wo der Fehler aufgetreten ist. Es ist jedoch besonders wichtig, die falschen Stapel -Trace -Informationen zu erhalten, wenn mehrere Programmdateien beteiligt sind. Sie können die

-Methode verwenden, um die Stapel -Trace -Informationen der Ausnahme aufzuzeichnen, wie unten gezeigt: logging.exception()

import logging

# 初始化日志设置
logging.basicConfig(filename='app.log', level=logging.INFO)

try:
    filePointer = open('appFile', 'r')
    try:
        content = filePointer.readline()
    finally:
        filePointer.close()
except IOError as e:
    logging.exception(str(e))
Wenn das obige Programm ausgeführt wird und eine Ausnahme auftritt, wird die Fehlermeldung in der Protokolldatei angemeldet, die die Stapel -Trace -Informationen enthält.

Zusammenfassung

Dieses Tutorial führt die grundlegenden Methoden der Python -Fehlerbehebung und -protokollierung vor, einschließlich der Verwendung von Anweisungen try, except und finally und die Anwendung von logging Modulen. Es wird empfohlen, die offizielle Dokumentation für detailliertere Informationen zu lesen.

Dieses Dokument wurde aktualisiert und enthält Beiträge von Esther Vaati. Esther ist ein Softwareentwickler und Beitrag zu Envato -Tuts.

Das obige ist der detaillierte Inhalt vonFehlerhandhabung und Anmeldung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn