På trods af en programmør bedste bestræbelser kan ethvert program støde lejlighedsvis fejl fra tid til anden. I de fleste tilfælde er det vigtigt at iværksætte metoder , der viser oplysninger om arten af disse fejl til debugging formål. Med den rette kode, vil fejl i en given Python programmet vise via standard error output-metode , mens udløser en undtagelse - fange blok af kode . Denne metode vil give programmøren at begge log fejlmeddelelser og diktere , hvordan programmet håndterer særlige fejl. Ting du skal
Python tolk
Text Editor
Vis Flere Instruktioner
Catching og logging Fejl i Python
1
Tag denne lille del af python ! kode som eksempel : Hej
# /usr /local /bin /python
import sys
x = 4-4
y = y /x
print y
Denne kodestykke , når henrettet , vil forårsage en fatal fejl (kaldet en ZeroDivisionError i Python ), fordi heltal ikke kan divideres med nul. Mens der i Python Interactive Interpreter vil denne fejl udskriver til skærmen , og programmet vil gå ned. Dog kan programmøren udvikle et GUI program til at køre uden for tolk , der logger og håndterer sådanne fejl i koden.
2
Tilføj et "try ... undtagen " blok omkring eksempel koden . Dette vil diktere , hvordan programmet håndterer fejl under udførelsen : Hej
# /usr /local /bin /python
import sys
prøv :
x = 4-4
y = y /x
print y
undtagen ZeroDivisionError : Hej
/* kode til at håndtere undtagelsen går her * /< br >
koden vil nu " try" specificerede operationer i " try ... undtagen" blok. Den " undtagen" afsnit vil kun aktivere , hvis den » ZeroDivisionError ' begivenhed indtræffer . Hvis en anden fejl opstår, " undtagen" block vil ikke udføre. Det er dog muligt, at oprette flere fejlbehandlende trin med flere " undtagen" udsagn.
3
Route fejlmeddelelsen via et output FILESTREAM objekt. I dette tilfælde bør fejl gå gennem standard error output ( stderr ) stream
# /usr /local /bin /python
import sys
prøve : . ! < br >
x = 4-4
y = y /x
print y
undtagen ZeroDivisionError : Hej
elog = åben ( 'out . log ',' w ' )
sys.stderr = elog
raise Exception " division med nul "
" elog " variabel tildeles en åben fil . Derefter er standardafvigelsen output ( sys.stderr ) i tilknytning til den fil tildelt elog . Enhver output sendes til sys.stderr vil skrive til " out.log " fil . Endelig er en undtagelse " hævet " fortæller programmet , at en fejl er opstået , og det er tid til at standse . Strengen " division med nul " , vil udskrive til out.log (fordi undtagelsen vil udskrive direkte til sys.stderr ) .