Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Takuma

 tutoriel / partage Erreurs fréquente en Python

Messages recommandés

Bonjour,

 

Je vais essayer ici de vous faire un "mini registre" des erreurs courantes en Python que vous pourriez rencontrer, et comment les résoudre. Peut être faudrait-il le mettre vers la FAQ dans L'A/Q/S ?

ans une erreur Python, la ligne la plus importante est la dernière. Prenons une erreur sur une dernière ligne de mes programmes Python que j'avais fais à mes débuts donc avec des erreurs :

IndexError: list index out of range
 

Sur cette ligne se trouve, 2 éléments, 2 informations ! 

La première, c'est le type d'exception qui s'est produit. Dans cet exemple, il s'agit d'une IndexError . C'est en fonction de ces types d'erreurs que les exceptions seront classées dans ce topic.

 

La seconde, c'est le message contenu dans cette exception. Au travers de ce message, Python nous donne des indications sur ce qui a provoqué l'erreur.

 

 

Vous pouvez au dessus de cette ligne retrouver le nom du fichier et la ligne où il a localisé l'erreur. Exemple :

File "test.py", line 3, in test
 print table[4]
 
Citation

La première ligne indique :

- le fichier dans lequel on se trouve,

- la ligne de ce fichier à laquelle s'est produite l'erreur,

- le nom de la fonction que l'on est en train d'exécuter.

 

La seconde ligne présente l'instruction qui a fait planter le programme.

 

Les paires de lignes qui précèdent celle-ci sont les appels de fonctions successifs qui ont mené l'interpréteur jusqu'à cette instruction.

Cela permet de savoir grosso-modo où en était votre programme dans son exécution avant qu'il ne plante.

~nohar

 

  • NameError :
    • Vous utilisez quelque chose qui n'est pas définie, vérifiez vous ne vous êtes pas trompé dans les majuscules !

    [*]IndentationError:

    • Erreur fréquente qui veut dire que vous vous êtes trompé dans les tabulations, ou que vous avez mis des espaces. Pour vous souvenir de l'indentation, souvenez vous qu'après un ":" tout ce qui lui appartient se trouve avec une tabulation de plus.

    [*]SyntaxError: invalid syntax :

    • Erreur de syntaxe : Vérifier la ligne, si vous n'avez pas mis un "=" au lieu d'un "==".

    [*]NameError: name 'x' is not defined.

    • Une erreur assez simple à corriger, vous utilisez juste une variable comme si elle avait une valeur alors qu'elle n'en a pas.

    [*]SyntaxError: Non-ASCII character

    • Vous devez changer votre encodage pour que Python reconnaisse vos accents par exemple.

    [*]ImportError: cannot import name bidule

    • Le module que vous essayer d'importer n'est pas disponible.

    [*]TypeError: ‘int’ object has no attribute ‘__getitem__’

    • Erreur assez dur des fois à corriger, vérifier que vos listes ne soit pas vide ou autres.

    [*]ZeroDivisionError :

    • Vous essayer de diviser par 0. 

    [*]IOError

    • Impossibilité d'importer un fichier par exemple.

Liste à completer selon vos idées ! Je peux éditer, ou un modo peut le faire au fur à mesure avec vos idées !

 

 

Cordialement, Takuma.

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce "tuto" peut aussi bien passer en FAQ par la même occasion Merci tout de même à toi.

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.