Python Language Les exceptions sont des objets aussi


Exemple

Les exceptions ne sont que des objets Python classiques qui héritent de BaseException . Un script Python peut utiliser l'instruction raise pour interrompre l'exécution, entraînant Python à imprimer une trace de pile de la pile d'appels à ce stade et une représentation de l'instance d'exception. Par exemple:

>>> def failing_function():
...     raise ValueError('Example error!')
>>> failing_function()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in failing_function
ValueError: Example error!

qui dit qu'un ValueError avec le message 'Example error!' a été failing_function() par notre failing_function() , qui a été exécuté dans l’interpréteur.

Le code d'appel peut choisir de gérer tous les types d'exception qu'un appel peut générer:

>>> try:
...     failing_function()
... except ValueError:
...     print('Handled the error')
Handled the error

Vous pouvez mettre la main sur les objets d'exception en les affectant dans la partie except... du code de gestion des exceptions:

>>> try:
...     failing_function()
... except ValueError as e:
...     print('Caught exception', repr(e))
Caught exception ValueError('Example error!',)

Une liste complète des exceptions Python intégrées avec leurs descriptions se trouve dans la documentation Python: https://docs.python.org/3.5/library/exceptions.html . Et voici la liste complète hiérarchisée: Hiérarchie des exceptions .