Comprendre les exceptions intégrées à Python

2022-08-16 00:52:36  mardi  2842 mots  

Python est accompagné d’une grande quantité d’exceptions prédéfinies, bien plus que vous ne pourriez l’imaginer. Vous pouvez en voir la liste en consultant l’adresse Web https://docs.python.org/fr/3.10/library/exceptions.html. La documentation partage la liste des exceptions en plusieurs catégories. En voici un rapide aperçu :

  • Classes de base : Elles fournissent les blocs de construction essentiels pour les autres exceptions (par exemple, l’exception judicieusement appelée Exception). Vous pouvez cependant voir directement certaines d’entre elles lorsque vous travaillez avec une application (par exemple, ArithmeticError).
  • Exceptions dites concrètes : Certaines applications peuvent rencontrer des erreurs difficiles à résoudre parce qu’il n’existe pas de bon procédé pour les traiter, ou parce qu’elles signalent un événement que l’application doit gérer elle-même. Par exemple, si un système vient à manquer de mémoire, Python génère une exception MemoryError. Résoudre ce problème est difficile, car il n’est pas toujours possible de libérer de la mémoire occupée par d’autres programmes. Lorsque l’utilisateur appuie sur une touche d’interruption (comme Ctrl+C ou Suppr), Python génère une exception KeyboardInterrupt. C’est bien à l’application de réagir face à cette situation avant de passer à d’autres tâches.
  • Exceptions de l’OS : Le système d’exploitation peut générer des erreurs que Python passe ensuite à votre application. Si, par exemple, celle-ci tente d’ouvrir un fichier qui n’existe pas, le système génère une erreur FileNotFoundError.
  • Avertissements : Python essaie aussi parfois de vous avertir d’un événement inattendu, ou d’actions qui pourraient par la suite engendrer des erreurs. Par exemple, une tentative inappropriée d’utiliser une certaine ressource, comme une icône, va déclencher l’exception ResourceWarning. Il s’agit bien d’un simple avertissement, pas d’une erreur. Vous n’êtes donc pas verbalisé. Vous pouvez l’ignorer, mais vous devez savoir qu’une erreur peut survenir plus tard.
Commentaire