Imprimer une exception en Python
-
Imprimer une exception en utilisant des blocs
try-except-finally
en Python -
Exception d’impression à l’aide du module
traceback
en 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