Aller au contenu

Le Traceback

Le Traceback indique le cheminement d'une erreur.

Il est important de lire les messages d'erreurs, cela aide à comprendre comment améliorer le code.

Exemple

🐍 Script Python
def f(n):
    return 0 + g(n)

def g(n):
    return 1 * h(n)

def h(n):
    return 1 / n

Testons l'appel f(0)

🐍 Console Python
>>> f(0)
Traceback (most recent call last):
    File "<pyshell>", line 1, in <module>
    File "/home/francky/test.py", line 2, in f
        return 0 + g(n)
    File "/home/francky/test.py", line 5, in g
        return 1 * h(n)
    File "/home/francky/test.py", line 8, in h
        return 1 / n
    ZeroDivisionError: division by zero
>>>

L'appel f(0) provoque une erreur, on peut retracer l'historique des appels de fonction avec les fichiers associés, ce ne sont pas forcément les mêmes avec des modules importés. Ici

  1. Dans un terminal, il y a eu un appel à f
  2. Dans le fichier test.py, dans la définition de f, il y a eu un appel à g.
  3. Dans le fichier test.py, dans la définition de g, il y a eu un appel à h.
  4. Dans le fichier test.py, dans la définition de h, il y a eu une division par zéro.