Erreur::py

De wiki.nexiat.fr
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")

Voir aussi