Vous devez être connecté et donner une réaction ( Like ) au sujet pour débloquer les liens de téléchargements...
Sign in to follow this  
Takuma

 tutoriel Les Erreurs #2

Recommended Posts

Niveau requis Débutant

Temps estimé : 30 minutes

Bonjour,

 

Dans une erreur Python, la ligne la plus importante est la dernière.

 

Révélation

 

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 sujet.
  • 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]

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.

 
  • NameError : Vous utilisez quelque chose qui n'est pas définie, vérifiez vous ne vous êtes pas trompé dans les majuscules !
  • IdentationError : 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 'xxx' 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 xxx : 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.

 

 

Cordialement,

Takuma

  • Like 1

Share this post


Link to post
Share on other sites
Sign in to follow this