Imprimer une exception en Python
-
Imprimer une exception en utilisant des blocs
try-except-finallyen Python -
Exception d’impression à l’aide du module
tracebacken Python
En Python, une exception est une erreur. Il existe de nombreuses erreurs ou exceptions en Python, telles que TypeError, SyntaxError, KeyError, AttributeError, etc. Nous utilisons try-except-finally en Python pour gérer ces exceptions car, sans ces blocs, ces exceptions arrêteraient l’exécution du programme. Les blocs try-except-finally en Python peuvent être utilisés pour afficher ces exceptions sans arrêter l’exécution du programme.
Imprimer une exception en utilisant des blocs try-except-finally en Python
Considérez l’extrait de code suivant.
dictionary = {
"hello": "world",
}
number = 25
try:
number = number + dictionary["hello"]
print(number)
except Exception as e:
print(repr(e))
Production:
TypeError("unsupported operand type(s) for +: 'int' and 'str'",)
Dans le code ci-dessus, nous initialisons d’abord un dictionnaire avec hello comme clé pointant sur la valeur de chaîne world, et une variable number. Puis à l’intérieur du bloc try, nous essayons d’accéder à la valeur de chaîne stockée dans le dictionary et de l’ajouter à la variable number.
Cette affirmation est à la fois erronée sur le plan pratique et conceptuel car il est impossible d’ajouter une chaîne à un entier. Ainsi le bloc except intercepte cette erreur et imprime l’objet Exception associé à cette exception dans la console.
Exception d’impression à l’aide du module traceback en Python
Python a un module intégré, traceback, pour l’impression et le formatage des exceptions. Et cela facilite l’impression de l’exception entière dans la console.
En Python, vous pouvez lever manuellement des exceptions en utilisant le mot-clé raise. Dans l’extrait de code suivant, nous utiliserons le mot-clé raise pour lever des exceptions à l’intérieur du bloc try.
import traceback
try:
raise KeyError
except Exception as e:
traceback.print_exc()
Production:
Traceback (most recent call last):
File ".\main.py", line 4, in <module>
raise KeyError
KeyError
Dans le code ci-dessus, nous lançons une exception KeyError et utilisons la fonction print_exc() du module traceback pour imprimer l’exception. Cette fonction imprime les informations sur l’exception et est un raccourci pour traceback.print_exception(*sys.exc_info(), limit, file, chain).
Pour en savoir plus sur la fonction print_exception(), reportez-vous à la documentation officielle ici
