CodeGym /Cours /Python SELF FR /Exceptions Populaires

Exceptions Populaires

Python SELF FR
Niveau 17 , Leçon 1
Disponible

2.1 Création d'exceptions

Si tu ne peux pas combattre — prends la tête. Si on ne peut pas éviter l'apparition d'erreurs dans le programme, on doit apprendre à les contrôler. Et pour cela, apprenons à créer délibérément des exceptions.

L'exemple le plus simple d'exception — c'est la division par zéro. Le programme est aussi simple :


x = 100 / 0
        

Ce code va s'exécuter avec une erreur :


Traceback (most recent call last):
    File "", line 1, in 
         x = 100 / 0
        ~~~^~   
ZeroDivisionError: division by zero
        

ZeroDivisionError — c'est le nom de l'exception, et division by zero — sa brève description. Python te fournira également le numéro de ligne où cette exception est apparue.

Incompatibilité des types de données

Évidemment, d'autres exceptions sont possibles. Par exemple, en essayant d'additionner une chaîne de caractères et un nombre :


s = "100" + 100
        

Une exception TypeError va se produire :


Traceback (most recent call last):
    File "", line 1, in 
TypeError: unsupported operand type(s) for +: 'str' and 'int'
        

Débordement de liste

Une autre erreur très courante qui génère une exception — c'est la tentative d'accéder à un élément inexistant dans la liste :


my_list = [1, 2, 3]
print(my_list[10])
        

Une exception IndexError va se produire :


Traceback (most recent call last):
    print(my_list[10])
        ~~~~~~~^^^^
IndexError: list index out of range
        

Combien y en a-t-il au total ? Il existe des milliers de types d'exceptions différents. De plus, vous pouvez créer les vôtres si ceux existants ne suffisent pas pour décrire une situation spécifique. Bien que les plus populaires ne soient pas si nombreux.

2.2 Liste des exceptions les plus populaires

Il y a beaucoup d'exceptions, mais pour toi, en tant que débutant, ce sera utile de connaître les plus populaires. Voici un tableau de celles-ci :

Exception Description
Exception Classe de base pour toutes les exceptions.
IndexError Se produit lors de l'accès à un indice inexistant dans une séquence (par exemple, liste ou tuple).
KeyError Se produit lorsqu'on accède à une clé inexistante dans un dictionnaire.
NameError Se produit lorsqu'on accède à une variable inexistante.
RuntimeError Se produit lors d'une erreur générale d'exécution non liée à d'autres types d'exceptions.
StopIteration Se produit pour signaler la fin de l'itération.
SyntaxError Se produit lors d'une erreur syntaxique dans le code.
IndentationError Se produit lors d'une erreur d'indentation dans le code (sous-type de SyntaxError).
TabError Se produit lors du mélange de tabulations et d'espaces pour les indentations (sous-type de IndentationError).
TypeError Se produit lors de la tentative d'effectuer une opération avec des types de données incompatibles.
UnboundLocalError Se produit lors de l'accès à une variable locale avant sa déclaration (sous-type de NameError).
ValueError Se produit lors de la transmission d'un argument avec une valeur incorrecte à une fonction ou une opération.
ZeroDivisionError Se produit lors d'une division par zéro.

Très probablement, en tant que débutant, au cours de votre premier mois d'apprentissage, vous allez rencontrer toutes ces erreurs. Et il n'y a rien de mal à cela — on apprend seulement par les erreurs.

2.3 Erreurs dans le code

Analysons encore quelques situations où des erreurs surviennent dans le code, pour que vous puissiez plus facilement les trouver dans votre propre code :

IndentationError

Ce type d'erreur se produit lorsque les indentations dans le code sont incorrectes. Par exemple, mélanger des tabulations et des espaces ou un nombre incorrect d'indentations.


def example():
    print("Hello")
     print("World")  # Indentation incorrecte entraîne IndentationError
        
example()
        

NameError


def example():
    print(undeclared_variable)  # Tentative d'utilisation d'une variable non déclarée entraîne NameError
        
example()
        

ValueError

Ce type d'erreur se produit lorsque l'opération ou la fonction reçoit un argument de type correct, mais avec une valeur inappropriée.


def example():
    int("abc")  # Tentative de conversion d'une chaîne non numérique entraîne ValueError
        
example()
        

KeyError

Ce type d'erreur se produit lorsque le programme tente d'accéder à une clé inexistante dans un dictionnaire.


def example():
    my_dict = {"a": 1, "b": 2}
    print(my_dict["c"])  # Tentative d'accès à une clé inexistante entraîne KeyError
        
example()
        

SyntaxError

Ce type d'erreur se produit lorsqu'il y a une erreur syntaxique dans le code, c'est-à-dire que le code ne respecte pas la grammaire du langage Python.


def example():
    eval("if True print('Hello')")  # Syntaxe incorrecte entraîne SyntaxError
        
example()
        

Un averti en vaut deux. Maintenant, vous pouvez reconnaître et créer des situations qui provoquent des erreurs. Il est temps d'apprendre à gérer ces erreurs.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION