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 l'attestation finale.

7 500 XOF / 11,43 € / 12,46 $

Débloquez les 92 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.