Malgré les meilleurs efforts d'un programmeur , n'importe quel programme peut rencontrer l'erreur occasionnelle de temps en temps . Dans la plupart des cas, il est important de mettre en œuvre des méthodes qui affichent des informations sur la nature de ces erreurs à des fins de débogage. Avec le bon code , des erreurs dans un programme Python donnée s'afficheront par la méthode de sortie d'erreur standard, tout en déclenchant un bloc exception qui attire de code. Cette méthode permettra au programmeur de deux messages d'erreur du journal et de dicter la façon dont le programme gère l'erreur particulier. Choses que vous devez
Python Interprète de langue
Text Editor
Voir Plus Instructions
capture et la journalisation des erreurs dans Python
1
Prenez cette petite section de python ! code comme exemple :
# /usr /local /bin /python
import sys
x = 4 - 4
y = y /x
impression y
Cet extrait de code , lorsqu'il est exécuté , va provoquer une erreur fatale (appelé ZeroDivisionError en Python ) parce entiers ne peuvent pas être divisés par zéro. Alors que dans l' interpréteur interactif Python , cette erreur sera imprimée à l'écran et le programme va planter. Toutefois , le programmeur peut développer un programme GUI exécuter en dehors de l'interprète qui se connectera et gérer de telles erreurs dans le code .
2
Ajouter un " try ... except " bloc autour de l'exemple de code . Cela va dicter la façon dont le programme gère l'erreur lors de l'exécution :
# /usr /local /bin /python
import sys
essayer :
x = 4 - 4
y = y /x
impression y
sauf ZeroDivisionError :
/* code pour gérer exception va ici * /
le code va maintenant «essayer» les opérations spécifiées dans le " try ... except " bloc. Le mot «sauf» section ne sera activée que si l'événement « ZeroDivisionError » se produit. Si une autre erreur, le mot «sauf» bloc ne s'exécutera pas . Il est possible, cependant , de mettre en place plusieurs mesures de gestion des erreurs avec de multiples "à l'exception des« énoncés .
3
passer le message d'erreur via un objet filestream de sortie. Dans ce cas, les erreurs doivent passer par la sortie d'erreur standard ( stderr) de flux
# /usr /local /bin /python
import sys
essayer : . !
x = 4 - 4
y = y /x
impression y
sauf ZeroDivisionError :
elog = open ( 'out . log ' , ' w ' )
sys.stderr = elog
raise Exception , " division par zéro "
La variable « elog » est attribué un fichier ouvert. Ensuite, la sortie d'erreur standard ( sys.stderr ) est lié au fichier attribué à einfo . Toute sortie envoyé à sys.stderr écrira le fichier " out.log " . Enfin , une exception est " élevé ", dit le programme qu'une erreur s'est produite et il est temps de s'arrêter. La " division par zéro " string permet d'imprimer à out.log (parce que l' exception d'imprimer directement sur sys.stderr ) .