Comment utiliser les exceptions en Python ?

python 3, bonne pratique python, conseil python

Les exceptions en Python sont des erreurs qui peuvent survenir lors de l’exécution d’un programme. Vous pouvez utiliser des instructions ‘tryet ‘except‘ pour attraper et gérer ces exceptions. Voici un exemple :

try:
    # code qui peut générer une exception
except Exception:
    # code exécuté si une exception est levée

Vous pouvez également spécifier une exception particulière à attraper en utilisant une clause ‘exceptavec le nom de l’exception. Par exemple :

try:
    # code qui peut générer une exception
except ValueError:
    # code exécuté si une ValueError est levée

Vous pouvez également utiliser une clause ‘else' après l’instruction ‘try' pour exécuter du code si aucune exception n’est levée :

try:
    # code qui peut générer une exception
except Exception:
    # code exécuté si une exception est levée
else:
    # code exécuté si aucune exception n'est levée

Enfin, vous pouvez utiliser une clause ‘finally' pour exécuter du code après l’instruction ‘try', qu’une exception ait été levée ou non :

try:
    # code qui peut générer une exception
except Exception:
    # code exécuté si une exception est levée
else:
    # code exécuté si aucune exception n'est levée
finally:
    # code exécuté après l'instruction try, qu'une exception ait été levée ou non

En résumé, les instructions ‘try', ‘except‘, ‘else' et ‘finally' vous permettent de gérer les exceptions en Python en définissant des blocs de code pour gérer différents scénarios d’exceptions.

Voici un exemple d’utilisation des instructions ‘try', ‘except', ‘else' et ‘finallyen Python :

# une fonction pour diviser deux nombres
def divide(a, b):
    try:
        # on tente de diviser a par b
        result = a / b
    except ZeroDivisionError:
        # si b est égal à 0, on lève une exception ZeroDivisionError
        print("Division by zero!")
    else:
        # si aucune exception n'est levée, on retourne le résultat de la division
        return result
    finally:
        # on imprime un message pour indiquer que la fonction est terminée
        print("Function finished.")

# appel de la fonction avec des valeurs qui ne lèvent pas d'exception
print(divide(10, 2)) # affiche 5.0

# appel de la fonction avec des valeurs qui lèvent une exception
print(divide(10, 0)) # affiche "Division by zero!" et "Function finished."

Dans cet exemple, la fonction divide() tente de diviser deux nombres. Si aucune exception n’est levée, le résultat de la division est retourné. Si une ZeroDivisionError est levée, un message est affiché et aucun résultat n’est retourné. Dans les deux cas, le code dans la clause finally est exécuté pour indiquer que la fonction est terminée.