Imprimer une exception en Python

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

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Article connexe - Python Exception