Tableau des messages d'erreur fréquents
Le tableau suivant détaille les erreurs intégrées (built-in exceptions) que le moteur d'exécution Python lève lorsqu'il rencontre une anomalie. Ces erreurs sont classées par leur nom technique tel qu'il apparaît dans la console (traceback).
| Nom de l'erreur | Description technique | Causes fréquentes |
|---|---|---|
| SyntaxError | Levée lorsque l'analyseur syntaxique rencontre une erreur dans la structure du code (Source). | Oubli de deux-points (:) après une instruction if ou def, parenthèses ou guillemets non fermés. |
| IndentationError | Sous-classe de SyntaxError liée à un mauvais alignement des blocs de code (Source). |
Mélange d'espaces et de tabulations, ou absence d'indentation après une instruction de contrôle. |
| NameError | Levée lorsqu'un identifiant (variable ou fonction) local ou global est introuvable (Source). | Utilisation d'une variable avant sa déclaration, ou faute de frappe dans le nom d'une fonction. |
| TypeError | Survient lorsqu'une opération ou une fonction est appliquée à un objet d'un type inapproprié (Source). | Tentative d'additionner une chaîne de caractères (str) et un nombre entier (int). |
| ValueError | Levée quand une fonction reçoit un argument du bon type mais avec une valeur inappropriée (Source). | Passage d'une chaîne non numérique à la fonction int() (ex: int("abc")). |
| IndexError | Levée lorsqu'un indice de séquence (liste, tuple, chaîne) est hors des limites autorisées (Source). | Tentative d'accéder à l'élément liste[10] alors que la liste ne contient que 5 éléments. |
| KeyError | Survient lors de la recherche d'une clé dans un dictionnaire si celle-ci n'existe pas (Source). | Accès à mon_dict["cle"] alors que "cle" n'a pas été définie dans le dictionnaire. |
| AttributeError | Levée lorsqu'une référence à un attribut ou une méthode échoue pour un objet donné (Source). | Appel de la méthode append() sur une chaîne de caractères au lieu d'une liste. |
| ModuleNotFoundError | Sous-classe de ImportError levée quand un module ne peut pas être localisé (Source). |
Nom de module mal orthographié dans l'instruction import ou module non installé via pip. |
| ZeroDivisionError | Levée lorsque le deuxième argument d'une division ou d'un modulo est zéro (Source). | Calcul arithmétique où le dénominateur est nul (ex: 10 / 0). |
| FileNotFoundError | Levée lorsqu'un fichier ou un répertoire est requis mais n'existe pas (Source). | Chemin d'accès erroné ou fichier supprimé lors de l'utilisation de la fonction open(). |
Structure et hiérarchie des exceptions
En Python, toutes les exceptions intégrées dérivent de la classe de base BaseException. La majorité des erreurs courantes (comme celles listées ci-dessus) héritent spécifiquement de la classe Exception (Source). Cette structure hiérarchique permet aux développeurs de capturer des groupes d'erreurs liés (par exemple, capturer ArithmeticError pour traiter à la fois ZeroDivisionError et OverflowError) ou de créer des exceptions personnalisées par héritage.
Last verified: 2026-06-23
Sources
- Documentation officielle de Python (Built-in Exceptions) : https://docs.python.org/3/library/exceptions.html
- Real Python - Python Exceptions: An Introduction : https://realpython.com/python-exceptions/
- Python.org - Errors and Exceptions Tutorial : https://docs.python.org/3/tutorial/errors.html