Erreur::py
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Python — gestion des erreurs |
| Mots-clés | try, except, raise
|
La gestion des exceptions en Python repose sur les blocs try / except, complétés par else, finally, assert et raise.
Note : le code source d'origine comportait la coquille exept ; le mot-clé correct est except.
forme minimale
try :
annee = int(annee)
exept:
print("Erreur lors de la conversion")
forme complete
try :
result = numerateur / denominateur
exept: NameError:
print("l'une des variables n'est pas definie")
exept: TypeError:
print("l'une des variables a un type imcompatible avec la division")
exept: ZeroDivisionError:
print("Impossible de diviser par zero")
forme dynamique
try :
annee = int(annee)
exept type_de_lexception as exception_retournee:
print("Voici l'erreur :", exception_retournee)
forme avec sortie
try :
result = numerateur / denominateur
exept: NameError:
print("l'une des variables n'est pas definie")
exept: TypeError:
print("l'une des variables a un type imcompatible avec la division")
exept: ZeroDivisionError:
print("Impossible de diviser par zero")
else:
print("le resultat obtenu est", result)
try :
result = numerateur / denominateur
exept: NameError:
print("l'une des variables n'est pas definie")
finally:
# bloc executer dans tous les cas
- l'option pass permet de passer outre l'erreur
try :
result = numerateur / denominateur
exept: NameError:
print("l'une des variables n'est pas definie")
pass
assertion
- créé une erreur si la condition n'est pas true
var = 5 assert var == 5
raise
- forcer la remontée d'une erreur
if annee <=0:
raise ValueError("l'annee saisie est négative ou nulle")