Comprendre les erreurs Python et lire un traceback
Apprenez à lire un traceback Python, corriger les erreurs fréquentes et utiliser try/except simplement avec des exemples débutants clairs.

- Difficulté
- Facile
Quand un programme Python s’arrête avec un message rouge, il ne “bugue” pas au hasard. Python indique souvent où chercher, quel type d’erreur s’est produit et dans quelle ligne le problème apparaît.
Ce tutoriel vous fait pratiquer directement sur de petits exemples. Vous allez lire un traceback, corriger plusieurs erreurs fréquentes et finir avec un bloc try/except simple pour gérer un cas attendu.
Prérequis
Il vous faut Python installé sur votre machine et un éditeur de texte ou un environnement comme IDLE, VS Code ou Thonny. Il faut aussi savoir lancer un fichier Python très simple.
Aucune connaissance avancée n’est nécessaire. Les exemples utilisent seulement des variables, print() et input().
Matériel nécessaire
- Python installé
- Éditeur de code ou IDE
- Terminal ou bouton d’exécution
Étapes
Lancer un script qui contient une erreur
Créez un fichier nommé
erreur_test.pyavec ce code :print("Bonjour") print("Bienvenue"Exécutez le fichier. Python affiche alors une erreur au lieu de terminer normalement.
Repérer la ligne indiquée dans le traceback

Lisez le message affiché après l’exécution. Vous verrez une ligne qui mentionne le fichier, puis un numéro de ligne, puis le type d’erreur.
Commencez toujours par le numéro de ligne signalé. Dans un petit script, c’est souvent l’endroit exact du problème ou juste la ligne où Python a cessé de comprendre le code.
Corriger une SyntaxError simple
Dans l’exemple précédent, il manque une parenthèse fermante. Remplacez le code par :
print("Bonjour") print("Bienvenue")Relancez le fichier. Le script s’exécute maintenant normalement et affiche les deux lignes.
Déclencher une NameError pour apprendre à lire le nom fautif
Remplacez le contenu du fichier par :
nom = "Ada" print(nom_utilisateur)Exécutez le script. Python signale que le nom utilisé n’est pas défini.
Remplacer le nom incorrect
Corrigez maintenant le code :
nom = "Ada" print(nom)Relancez le script pour vérifier que l’erreur a disparu. Faites toujours une nouvelle exécution après une correction, même si elle vous paraît évidente.
Provoquer une TypeError avec une addition incompatible
Testez ensuite ce code :
age = 20 print("Âge : " + age)Exécutez-le. Python refuse ici de concaténer directement une chaîne de caractères et un entier.
Convertir la valeur avant de l’afficher

Corrigez le script ainsi :
age = 20 print("Âge : " + str(age))Vous pouvez aussi écrire :
age = 20 print("Âge :", age)Les deux solutions évitent l’erreur dans ce cas simple.
Tester une ZeroDivisionError sans risque
Essayez maintenant ce code :
nombre = 10 resultat = nombre / 0 print(resultat)Au lancement, Python interrompt le programme et signale une division par zéro.
Vérifier la valeur avant de diviser
Remplacez le script par :
nombre = 10 diviseur = 0 if diviseur != 0: resultat = nombre / diviseur print(resultat) else: print("Division impossible")Exécutez à nouveau. Le programme continue sans planter et affiche un message clair.
Lire une ValueError avec input
Créez ce nouveau script :
texte = input("Entrez un nombre : ") nombre = int(texte) print(nombre)Lancez-le, puis tapez par exemple
bonjour. Python affiche une erreur car ce texte ne peut pas être converti en entier.Encadrer la conversion avec try/except

Modifiez le script comme suit :
texte = input("Entrez un nombre : ") try: nombre = int(texte) print("Vous avez saisi", nombre) except ValueError: print("Veuillez entrer un entier valide")Relancez-le une première fois avec un nombre, puis une seconde fois avec du texte. Le programme affiche maintenant un message au lieu de s’arrêter brutalement.
Afficher un message utile dans le except
Vous pouvez rendre la gestion d’erreur plus claire pour l’utilisateur. Par exemple :
texte = input("Entrez un nombre : ") try: nombre = int(texte) print("Double :", nombre * 2) except ValueError: print("La saisie doit contenir uniquement un entier")Le rôle du
exceptn’est pas seulement d’éviter un arrêt. Il sert aussi à guider la personne qui utilise le programme.Relancer des tests après chaque correction
Quand vous corrigez une erreur, exécutez de nouveau le script avec plusieurs entrées simples. Testez au moins un cas normal et un cas incorrect si votre code utilise
input().Cette habitude évite de croire qu’un problème est réglé alors qu’un autre apparaît juste après. En programmation débutante, la vérification fait partie de la correction.
Erreurs fréquentes & dépannage
L’erreur la plus fréquente consiste à paniquer devant tout le traceback au lieu de chercher la dernière ligne et le numéro de ligne. Une autre erreur courante est de corriger “au hasard” sans relancer le programme après chaque modification.
Beaucoup de débutants utilisent aussi try/except trop tôt pour cacher une erreur qu’ils n’ont pas comprise. Il vaut mieux d’abord lire le message, identifier le type d’erreur, puis n’utiliser except que pour un cas réellement attendu comme une mauvaise saisie utilisateur.
Astuces & pour aller plus loin
Lisez les messages Python de bas en haut : la dernière ligne donne généralement le type d’erreur le plus utile au débutant. Ensuite, remontez vers le numéro de ligne concerné dans votre fichier.
Quand vous bloquez, réduisez le script au plus petit exemple possible. Un fichier de trois lignes est beaucoup plus simple à corriger qu’un grand programme où plusieurs causes se mélangent.
Questions fréquentes
À quoi sert un traceback en Python ?
Le traceback montre où le programme s’est arrêté et quel type d’erreur a été détecté. Pour débuter, regardez d’abord le fichier, le numéro de ligne et la dernière ligne du message.
Quelle différence entre SyntaxError et ValueError ?
Une SyntaxError signifie que Python ne comprend pas l’écriture du code. Une ValueError apparaît quand le code est valide mais qu’une valeur fournie ne convient pas à l’opération demandée, par exemple une conversion avec int().
Faut-il utiliser try/except partout ?
Non. Utilisez-le surtout quand une situation attendue peut se produire, comme une saisie utilisateur incorrecte. Il ne doit pas servir à cacher systématiquement des erreurs non comprises.
Pourquoi mon programme s’arrête-t-il avant la fin ?
Sans gestion d’erreur adaptée, Python interrompt l’exécution quand une exception se produit. C’est pour cela qu’il est utile de corriger la cause ou d’encadrer certains cas avec try/except.
Conclusion
Comprendre les erreurs en Python commence par une méthode simple : lancer un petit script, lire la dernière ligne du traceback, repérer la ligne indiquée, puis corriger une cause précise. Avec cette approche, des erreurs comme SyntaxError, NameError, TypeError, ZeroDivisionError ou ValueError deviennent beaucoup moins impressionnantes.
Le bloc try/except complète cette méthode quand une erreur peut arriver dans un cas prévisible, notamment avec input(). L’important n’est pas d’éviter tous les messages d’erreur, mais d’apprendre à les lire et à s’en servir pour progresser.