Les exceptions en Python sont des erreurs qui peuvent survenir lors de l’exécution d’un programme. Vous pouvez utiliser des instructions ‘try
‘ et ‘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 ‘except
‘ avec 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 ‘finally
‘ en 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.