PaliSkill
Python intermédiaire

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