Exceptions
2 h
Niveau 5
Python fournit deux fonctionnalités très importantes pour gérer toute erreur inattendue dans vos programmes Python et pour ajouter des capacités de débogage dans ceux-ci.
- Gestion des exceptions - Ce sujet sera traité dans ce cours. Voici une liste des exceptions standard disponibles en Python - Standard Exceptions.
- Assertions.
Exceptions standards
Voici une liste des exceptions standard disponibles en Python :
Exception
: Classe de base pour toutes les exceptions.StopIteration
: Levée lorsque la méthodenext()
d'un itérateur ne pointe vers aucun objet.SystemExit
: Levée par la fonctionsys.exit()
.StandardError
: Classe de base pour toutes les exceptions intégrées sauf StopIteration et SystemExit.ArithmeticError
: Classe de base pour toutes les erreurs qui se produisent lors de calculs numériques.OverflowError
: S'affiche lorsqu'un calcul dépasse la limite maximale pour un type numérique.FloatingPointError
: Levée lorsqu'un calcul en virgule flottante échoue.ZeroDivisonError
: Levée lorsque la division ou le modulo par zéro a lieu pour tous les types numériques.AssertionError
: Levée en cas d'échec de l'instruction Assert.AttributeError
: Levée en cas d'échec de la référence ou de l'affectation d'un attribut.EOFError
: Évoquée lorsqu'il n'y a aucune entrée provenant de la fonctionraw_input()
ouinput()
et que la fin du fichier est atteinte.ImportError
: S'affiche lorsqu'une déclaration d'importation échoue.KeyboardInterrupt
: Levée lorsque l'utilisateur interrompt l'exécution du programme, généralement en appuyant sur Ctrl+c.LookupError
: Classe de base pour toutes les erreurs de consultation.IndexError
: Levée lorsqu'un index n'est pas trouvé dans une séquence.KeyError
: Levée lorsque la clé spécifiée n'est pas trouvée dans le dictionnaire.NameError
: Levée lorsqu'un identifiant n'est pas trouvé dans l'espace de noms local ou global.UnboundLocalError
: Lancée lorsqu'on essaie d'accéder à une variable locale dans une fonction ou une méthode mais qu'aucune valeur ne lui a été attribuée.EnvironmentError
: Classe de base pour toutes les exceptions qui se produisent en dehors de l'environnement Python.IOError
: Levée lorsqu'une opération d'entrée/sortie échoue, comme l'instruction print ou la fonctionopen()
lorsqu'on essaie d'ouvrir un fichier qui n'existe pas.OSError
: Levée pour les erreurs liées au système d'exploitation.SyntaxError
: S'affiche lorsqu'il y a une erreur dans la syntaxe Python.IndentationError
: S'affiche lorsque l'indentation n'est pas spécifiée correctement.SystemError
: Levée lorsque l'interpréteur trouve un problème interne, mais lorsque cette erreur est rencontrée, l'interpréteur Python ne sort pas.SystemExit
: soulevé lorsque l'interpréteur Python est quitté en utilisant la fonction sys.exit(). Si elle n'est pas gérée dans le code, elle provoque la sortie de l'interpréteur.TypeError
: Levée lorsqu'une opération ou une fonction est tentée alors qu'elle n'est pas valide pour le type de données spécifié.ValueError
: Lancé lorsque la fonction intégrée pour un type de données a le type d'arguments valide, mais les arguments ont des valeurs invalides spécifiées.RuntimeError
: Levée lorsqu'une erreur générée n'entre dans aucune catégorie.NotImplementedError
: Lancée lorsqu'une méthode abstraite qui doit être implémentée dans une classe héritée n'est pas réellement implémentée.
Assertions en Python
Une assertion est un contrôle d'intégrité que vous pouvez activer ou désactiver lorsque vous avez terminé de tester le programme.
- La façon la plus simple de penser à une assertion est de la comparer à une instruction
raise-if
(ou, pour être plus précis, une instructionraise-if-not
). Une expression est testée, et si le résultat est faux, une exception est levée. - Les assertions sont exécutées par l'instruction
assert
, le mot-clé le plus récent de Python, introduit dans la version 1.5. - Les programmeurs placent souvent les assertions au début d'une fonction pour vérifier la validité des entrées, et après un appel de fonction pour vérifier la validité des sorties.
L'instruction assert
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !