Message d'exception en Python
-
Capturer un message d’exception en Python en utilisant la méthode
logger.exception()
-
Capturer le message d’exception en Python en utilisant la méthode
logger.error()
-
Capture du message d’exception en Python à l’aide de la méthode
print()
Ce tutoriel explique les différentes façons de capturer les messages d’exception en Python. Le traitement des exceptions est utilisé pour répondre aux exceptions qui se produisent pendant l’exécution du programme. Il est important de gérer les exceptions, sinon un programme se bloquera à chaque fois qu’une exception se produira.
L’instruction try ... except
gère les exceptions en Python. Mais nous devons aussi capturer les détails des exceptions qui se produisent pendant l’exécution du code, afin de pouvoir les résoudre. Les différentes méthodes qui peuvent être utilisées pour capturer les messages d’exception en Python sont expliquées ci-dessous.
Capturer un message d’exception en Python en utilisant la méthode logger.exception()
La méthode logger.exception()
renvoie un message d’erreur et la trace du journal, qui comprend des détails comme le numéro de la ligne de code à laquelle l’exception s’est produite. La méthode logger.exception()
doit être placée dans l’instruction except
; sinon, elle ne fonctionnera pas correctement à tout autre endroit.
L’exemple de code ci-dessous démontre l’utilisation correcte de la méthode logger.exception()
avec l’instruction try ... except
pour capturer le message d’exception en Python.
import logging
logger = logging.getLogger()
try:
x = 1 / 0
except Exception as e:
logger.exception("Exception occurred while code execution: " + str(e))
Production :
Exception occurred while code execution: division by zero
Traceback (most recent call last):
File "<ipython-input-27-912703271615>", line 5, in <module>
x = 1/0
ZeroDivisionError: division by zero
Capturer le message d’exception en Python en utilisant la méthode logger.error()
La méthode logger.error()
renvoie le message d’erreur uniquement lorsque des exceptions se produisent dans le bloc try
. L’exemple de code de la façon dont la méthode logger.error()
peut capturer les messages d’exception en Python est donné ci-dessous.
import logging
logger = logging.getLogger()
try:
x = 1 / 0
except Exception as e:
logger.error("Exception occurred while code execution: " + str(e))
Production :
Exception occurred while code execution: division by zero
Comme nous pouvons le remarquer dans l’exemple ci-dessus, la méthode str(e)
ne reçoit que le message d’exception de l’objet exception e
et non le type d’exception.
La méthode repr(e)
peut être utilisée pour obtenir le type d’exception le long du message d’exception. L’exemple de code ci-dessous montre l’utilisation et la sortie de la méthode repr(e)
:
import logging
logger = logging.getLogger()
try:
x = 1 / 0
except Exception as e:
logger.error("Exception occurred while code execution: " + repr(e))
Production :
Exception occurred while code execution: ZeroDivisionError('division by zero',)
Capture du message d’exception en Python à l’aide de la méthode print()
Nous pouvons également utiliser la méthode print()
pour imprimer le message d’exception. L’exemple de code ci-dessous montre comment capturer et imprimer un message d’exception en Python en utilisant la méthode print()
.
Exemple de code :
try:
x = 1 / 0
except Exception as e:
print("Exception occurred while code execution: " + repr(e))
Production :
Exception occurred while code execution: ZeroDivisionError('division by zero',)