Comprendre les Exceptions en Python

Les exceptions en Python

Une exception est un événement qui se produit pendant l’exécution d’un programme et qui interrompt le flux normal de l’exécution. Les exceptions peuvent être causées par divers facteurs, tels que des erreurs de syntaxe, des erreurs de logique ou des entrées invalides.

En Python, les exceptions sont représentées par des objets. L’objet exception contient des informations sur l’exception, telles que le type de l’exception, le message d’erreur et la ligne de code où l’exception s’est produite.

Lorsque une exception se produit, le programme Python lève l’exception. Cela signifie que le programme passe au bloc d’exceptions suivant dans le code. Si aucun bloc d’exceptions n’est trouvé, le programme se termine.

Vous pouvez utiliser les blocs d’exceptions pour traiter les exceptions dans votre code Python. Un bloc d’exceptions est un bloc de code qui est exécuté lorsque une exception est levée.

La syntaxe d’un bloc d’exceptions est la suivante :

try:
    # Code qui peut lever une exception
except Exception as e:
    # Code qui est exécuté si une exception est levée

Dans l’exemple ci-dessus, le bloc try contient le code qui peut lever une exception. Le bloc except contient le code qui est exécuté si une exception est levée. L’objet e contient les informations sur l’exception.

Vous pouvez également utiliser plusieurs blocs except pour traiter différents types d’exceptions. Par exemple, le code suivant traite les exceptions IndexError et ValueError :

try:
    # Code qui peut lever une exception
except IndexError:
    print("IndexError occurred")
except ValueError:
    print("ValueError occurred")

Si une exception est levée et qu’aucun bloc d’exceptions ne la traite, le programme Python se termine. Vous pouvez empêcher le programme de se terminer en utilisant le bloc finally. Le bloc finally est exécuté, même si une exception est levée.

La syntaxe du bloc finally est la suivante :

try:
    # Code qui peut lever une exception
except Exception as e:
    # Code qui est exécuté si une exception est levée
finally:
    # Code qui est toujours exécuté

Le code dans le bloc finally est toujours exécuté, même si une exception est levée. Cela permet de garantir que certaines tâches sont exécutées, même si une exception se produit.

Les exceptions sont un outil important en Python. Elles permettent de traiter les erreurs qui se produisent pendant l’exécution d’un programme. En utilisant correctement les blocs d’exceptions, vous pouvez éviter que votre programme ne se termine et vous pouvez garantir que certaines tâches sont exécutées, même si une exception se produit.

Exemple concret de code Python sur les exceptions :

try:
    # Code qui peut lever une exception
    n = int(input("Entrez un nombre : "))
    print(n ** 2)
except ValueError:
    print("Le nombre que vous avez saisi n'est pas un entier")

Dans cet exemple, le code dans le bloc try essaie de convertir une chaîne de caractères en un nombre entier. Si la chaîne de caractères ne peut pas être convertie en un nombre entier, une exception ValueError est levée. Le bloc except traite l’exception en imprimant un message d’erreur.

Voici un autre exemple de code Python sur exceptions :

try:
    # Code qui peut lever une exception
    with open("my_file.txt", "r") as f:
        for line in f:
            print(line)
except FileNotFoundError:
    print("Le fichier my_file.txt n'a pas été trouvé")

Dans cet exemple, le code dans le bloc try essaie d’ouvrir un fichier. Si le fichier ne peut pas être ouvert, une exception FileNotFoundError est levée. Le bloc except traite l’exception en imprimant un message d’erreur.

Lire aussi :
Fonction Input en Python : Guide exhaustif
Guide ultime sur les dictionnaires en Python : Maîtriser les fondamentaux