Python essayer sauf
Le try
bloc vous permet de tester un bloc de code pour les erreurs.
Le except
bloc vous permet de gérer l'erreur.
Le else
bloc vous permet d'exécuter du code lorsqu'il n'y a pas d'erreur.
Le finally
bloc vous permet d'exécuter du code, quel que soit le résultat des blocs try- et except.
Gestion des exceptions
Lorsqu'une erreur se produit, ou une exception comme nous l'appelons, Python s'arrête normalement et génère un message d'erreur.
Ces exceptions peuvent être gérées à l'aide de l' try
instruction :
Exemple
Le try
bloc va générer une exception, car x
n'est pas défini :
try:
print(x)
except:
print("An exception occurred")
Puisque le bloc try génère une erreur, le bloc except sera exécuté.
Sans le bloc try, le programme plantera et générera une erreur :
Exemple
Cette instruction génère une erreur, car x
n'est pas défini :
print(x)
De nombreuses exceptions
Vous pouvez définir autant de blocs d'exception que vous le souhaitez, par exemple si vous souhaitez exécuter un bloc de code spécial pour un type d'erreur particulier :
Exemple
Imprimez un message si le bloc try déclenche un NameError
et un autre pour les autres erreurs :
try:
print(x)
except NameError:
print("Variable x
is not defined")
except:
print("Something else went
wrong")
Autre
Vous pouvez utiliser le mot- else
clé pour définir un bloc de code à exécuter si aucune erreur n'a été générée :
Exemple
Dans cet exemple, le try
bloc ne génère aucune erreur :
try:
print("Hello")
except:
print("Something went
wrong")
else:
print("Nothing went wrong")
Enfin
Le finally
bloc, s'il est spécifié, sera exécuté, que le bloc try génère ou non une erreur.
Exemple
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")
Cela peut être utile pour fermer des objets et nettoyer des ressources :
Exemple
Essayez d'ouvrir et d'écrire dans un fichier qui n'est pas accessible en écriture :
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the
file")
Le programme peut continuer, sans laisser l'objet fichier ouvert.
Lever une exception
En tant que développeur Python, vous pouvez choisir de lever une exception si une condition se produit.
Pour lancer (ou déclencher) une exception, utilisez le mot- raise
clé.
Exemple
Lève une erreur et arrête le programme si x est inférieur à 0 :
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")
Le raise
mot clé est utilisé pour déclencher une exception.
Vous pouvez définir le type d'erreur à générer et le texte à imprimer à l'utilisateur.
Exemple
Lève une TypeError si x n'est pas un entier :
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")