Leçon 2 / 9 — Chapitre 5: Gestion des erreurs
except avec plusieurs types d'erreurs
Un même bloc try peut être suivi de plusieurs blocs except, chacun pour un type d'erreur différent — Python n'exécute que celui qui correspond exactement à l'erreur survenue.
valeurs = {"riz": 5}
try:
prix = valeurs["huile"]
resultat = 10 / prix
except KeyError:
print("Ce produit n'existe pas")
except ZeroDivisionError:
print("Le prix ne peut pas etre zero")
Ce code affiche Ce produit n'existe pas : valeurs["huile"] lève une KeyError (vue au premier chapitre de ce module) car "huile" n'est pas une clé de valeurs, et c'est le premier bloc except correspondant à ce type précis qui s'exécute — le second bloc, pour ZeroDivisionError, est ignoré.
On peut aussi regrouper plusieurs types dans un seul bloc except, avec un tuple entre parenthèses, si le même traitement convient aux deux :
except (KeyError, ZeroDivisionError):
print("Erreur sur ce produit")
À vous de jouer : écrivez un bloc try avec deux blocs except distincts, un pour KeyError et un pour ZeroDivisionError, et testez-le avec une erreur de chaque type.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès