Prendete questa piccola sezione di pitone Il codice di esempio :
# /usr /local /bin /python
import sys
x = 4-4
y = y /x
stampa y
Questo frammento di codice , una volta eseguito, causare un errore fatale (chiamato ZeroDivisionError in Python ) , perché interi non possono essere divisi da zero. Mentre in Python Interpreter Interactive , questo errore viene stampato sullo schermo e il programma andrà in crash . Tuttavia, il programmatore può sviluppare un programma con interfaccia grafica per eseguire al di fuori interprete che accedere e gestire tali errori nel codice .
2
Aggiungi un "try ... except " blocco di tutto il codice di esempio . Questo detterà come il programma gestisce l'errore durante l'esecuzione :
# /usr /local /bin /python
import sys
provare :
x = 4 - 4
y = y /x
stampa y
tranne ZeroDivisionError :
/* codice per gestire un'eccezione va qui * /
Il codice sarà ora " provare " le operazioni di cui il " try ... except " blocco . L '" eccezione " sezione si attiva solo se l'evento ' ZeroDivisionError ' si verifica . Se si verifica un altro errore , l '" eccezione " blocco non sarà eseguito . E 'possibile, tuttavia , impostare più fasi di gestione degli errori con più " eccezione " dichiarazioni.
3
passare il messaggio di errore attraverso un oggetto FileStream uscita . In questo caso , gli errori dovrebbero passare attraverso l' output di errore standard ( stderr ) flusso
# /usr /local /bin /python
import sys
provare : . !
x = 4-4
y = y /x
stampa y
tranne ZeroDivisionError :
elog = open ( ' fuori . log ' , ' w ' ) per
sys.stderr = elog
raise Exception , " divisione per zero "
La variabile " elog " è assegnato un file aperto. Quindi , l'uscita di errore standard ( sys.stderr ) è collegato al file assegnato elog . Tutti i dati inviati alla sys.stderr scriverà nel file " out.log " . Infine , un'eccezione viene " sollevata ", dicendo al programma che si è verificato un errore ed è il momento di fermarsi. La stringa " Divisione per zero" stamperà a out.log ( perché l'eccezione stamperà direttamente sys.stderr ) .
Programmazione © www.354353.com