Trotz eines Programmierers besten Bemühungen , jedes Programm kann die gelegentliche Fehler von Zeit zu Zeit auftreten . In den meisten Fällen ist es wichtig, Methoden, die Informationen über die Art dieser Fehler für Debugging-Zwecke anzuzeigen umzusetzen. Mit dem richtigen Code , werden Fehler in einem bestimmten Python -Programm durch die Standard-Fehlerausgabe Verfahren anzuzeigen, während das Auslösen einer Ausnahme springenden Code-Block . Diese Methode wird der Programmierer beiden log Fehlermeldungen zu ermöglichen und zu diktieren , wie das Programm die besondere Fehler behandelt . Things You
Python Language Interpreter
Text Editor
brauchen anzeigen Weitere Anweisungen
Abfangen und Protokollieren von Fehlern in Python
1
Nehmen Sie diesen kleinen Teil der Python ! Code als Beispiel:
# /usr /local /bin /python import sys
x = 4 - 4
y = y /x
Druck y
Diese Code-Schnipsel , wenn es ausgeführt wird , wird ein fataler Fehler verursachen (eine so genannte ZeroDivisionError in Python ), weil Zahlen kann nicht durch Null geteilt werden. Während in der Python- Interpreter Interactive , wird dieser Fehler auf dem Bildschirm auszugeben und das Programm abstürzen. Allerdings kann der Programmierer entwickeln ein GUI-Programm außerhalb der Dolmetscher , die sich anmelden und behandeln solche Fehler im Code ausführen.
2
hinzufügen " versuchen ... außer " Block um die Beispiel-Code . Dies wird diktieren, wie das Programm die Fehler während der Ausführung Griffe :
# /usr /local /bin /python import sys
versuchen :
x = 4 - 4
y = y /x
Druck y
außer ZeroDivisionError :
/* Code Ausnahme zu behandeln geht hier * /
der Code wird nun " versuchen " die Vorgänge in der angegebenen " versuchen ... außer " Block . Die " Ausnahme "-Abschnitt wird nur dann aktiviert , wenn die ' ZeroDivisionError ' Ereignis eintritt. Wenn ein anderer Fehler auftritt, wird die " Ausnahme "-Block wird nicht ausgeführt. Es ist jedoch möglich, die Einrichtung mehrerer Fehler - Handling-Schritte mit mehreren " außer" Aussagen .
3
Verlegen Sie die Fehlermeldung über einen Ausgang filestream Objekt . In diesem Fall sollten Fehler durch die Standard-Fehlerausgabe (stderr ) Stream gehen
# /usr /local /bin /python import sys
versuchen : . !
x = 4 - 4
y = y /x
Druck y
außer ZeroDivisionError :
elog = open ( 'out . log ',' w ' ) =
sys.stderr elog
raise Exception , "Division durch Null"
" elog " Variable wird eine geöffnete Datei zugeordnet. Dann wird die Standard-Fehlerausgabe ( sys.stderr ) in die Datei zugeordnet elog verbunden. Jede Ausgabe an sys.stderr wird dem " out.log "-Datei zu schreiben. Schließlich wird eine Ausnahme " angehoben ", sagt das Programm , dass ein Fehler aufgetreten ist und es ist Zeit zu stoppen . Die Zeichenfolge " Division durch Null " gedruckt wird , um out.log (weil die Ausnahme direkt zu drucken sys.stderr ) .