Définit un contrôle d'entrée
Dans ce tutoriel, vous apprendrez à gérer les exceptions dans votre programme Python en utilisant les instructions try, except et finally.
Les erreurs en Python peuvent être de deux types : les erreurs de syntaxe et les exceptions. Les erreurs sont des problèmes dans un programme à cause desquels le programme arrête l'exécution. D'autre part, les exceptions sont soulevées lorsque certains événements internes se produisent et modifient le déroulement normal du programme.
try :
# Le code à exécuter
except :
# Exécuté en cas d'erreur dans le bloc
# bloc try
# Code Python pour illustrer # le fonctionnement de try() def diviser(x, y) : try : # Division par palier : ne donne que la partie entiére comme résultat resultat = x // y print("Bien ! La réponse est :", resultat) except ZeroDivisionError : print(" Désolé ! Vous divisez par zéro ") # Regardez les paramètres et notez le fonctionnement du programme diviser(3, 2)La sortie sea :
try :
# Du code
except :
# Exécuté en cas d'erreur dans le
# bloc try
else :
# exécuté si pas d'exception
# Code servant à décrire la clause else avec try-except # Fonction qui renvoie a/b def AparB(a , b) : try : c = ((a+b) // (a-b)) except ZeroDivisionError : print (f"{a}+{b}/{a}-{b} Désolé ! Vous divisez par zéro ") else : print ("c =",c) # Tester la fonction ci-dessus AparB(5.0, 3.0) AparB(3.0, 3.0)
try: # faire quelque chose except ValueError : # gère l'exception ValueError except (TypeError, ZeroDivisionError) : # traite les exceptions multiples # TypeError et ZeroDivisionError except : # gère toutes les autres exceptionsExemple : Afficher un message si le bloc try rencontre une NameError et un autre pour les autres erreurs :
#Le bloc try va générer l'erreur NameError, car x n'est pas défini : try : print(x) except NameError : print("La variable x n'est pas définie") except : print("Un autre problème est survenu")
try : # Du code except : # Exécuté en cas d'erreur dans le # bloc try else : # exécuté si pas d'exception finally : # Un peu de code .....(toujours exécuté)Exemple : Programme Python pour démontrer finally
try : k = 5//0 # génère une exception de division par zéro. print(k) # traite l'exception de division par zéro except ZeroDivisionError : print("Impossible de diviser par zéro") finally : # ce bloc est toujours exécuté # indépendamment de la génération de l'exception. print('Ceci est toujours exécuté')
x = -1 if x < 0 : raise Exception("Désolé, pas de nombre inférieur à zéro")Le mot-clé raise est utilisé pour lever une exception.
x = "hello" if not type(x) is int : raise TypeError("Seuls les nombres entiers sont autorisés")