Try Except Python

try Le bloc permet de tester un bloc de code pour trouver des erreurs.

except Le bloc permet de gérer les erreurs.

finally Le bloc permet d'exécuter du code, peu importe le résultat du bloc try et except.

Gestion des exceptions

Lorsque nous appelons Python et que des erreurs ou des exceptions se produisent, nous nous arrêtons généralement et générons un message d'erreur.

Vous pouvez utiliser try Les instructions traitent ces exceptions :

Exemple

Le bloc try génèrera une exception car x n'est pas défini :

try:
  print(x)
except:
  print("Une exception s'est produite")

Exécuter l'exemple

En raison de l'erreur levée dans le bloc try, le bloc except sera exécuté.

Si il n'y a pas de bloc try, le programme s'effondrera et lèvera une erreur :

Exemple

Cette instruction lèvera une erreur car x n'est pas défini :

print(x)

Exécuter l'exemple

Plusieurs exceptions

Vous pouvez définir un nombre quelconque de blocs exception, par exemple, si vous devez exécuter un bloc de code spécial pour un type d'erreur spécifique :

Exemple

Si le bloc try lève NameErrorAffiche un message si c'est une erreur, sinon un autre message pour d'autres erreurs :

try:
  print(x)
except NameError:
  print("La variable x n'est pas définie")
except:
  print("Quelque chose d'autre s'est mal passé")

Exécuter l'exemple

Else

Si aucune erreur n'est levée, vous pouvez utiliser else des mots-clés pour définir le bloc de code à exécuter :

Exemple

Dans cet exemple,try Le bloc ne génère aucune erreur :

try:
  print("Bonjour")
except:
  print("Quelque chose s'est mal passé")
else:
  print("Rien n'est passé mal")

Exécuter l'exemple

Finally

Si vous avez spécifié finally Si un bloc est utilisé, le bloc finally sera toujours exécuté, peu importe si un erreur est levée ou non dans le bloc try.

Exemple

try:
  print(x)
except:
  print("Quelque chose s'est mal passé")
finally:
  print("Le 'try except' est terminé")

Exécuter l'exemple

C'est très utile pour fermer les objets et nettoyer les ressources :

Exemple

Essayer d'ouvrir et d'écrire dans un fichier non accessible :

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Quelque chose s'est mal passé lors de l'écriture dans le fichier")
finally:
  f.close()

Exécuter l'exemple

Le programme peut continuer et ne pas ouvrir l'objet de fichier.

Déclencher une exception

En tant que développeur Python, vous pouvez choisir de déclencher une exception lorsque des conditions se produisent.

Pour déclencher une exception, utilisez raise Mots-clés.

Exemple

Si x est inférieur à 0, une exception est déclenchée et le programme est arrêté :

x = -1
if x < 0:
  raise Exception("Désolé, aucun nombre inférieur à zéro")

Exécuter l'exemple

raise Les mots-clés sont utilisés pour déclencher des exceptions.

Vous pouvez définir le type d'exception déclenchée et le texte affiché à l'utilisateur.

Exemple

Si x n'est pas un entier, une TypeError est déclenchée :

x = "hello"
if not type(x) is int:
  raise TypeError("Seuls les entiers sont autorisés")

Exécuter l'exemple