# Exercices sur les exceptions ## Exercice 1 - Écrivez un bloc `try/except` - Dans le bloc `try`, provoquez une division par zéro (`ZeroDivisionError`) - Dans le bloc `except`, affichez "Division impossible !" ## Exercice A1 - Générez un nombre entier aléatoire entre 0 et 1 : ```python from random import randint number = randint(0, 1) ``` - Écrivez un bloc `try/except` - Dans le bloc `try` : - Si `number` vaut `0`, afficher `[1, 2, 3][4]` (`IndexError`) - Si `number` vaut `1`, afficher `{}[0]` (`KeyError`) - Écrire un bloc `except` pour `IndexError`, qui affiche "Erreur d'index" - Écrire un bloc `except` pour `KeyError`, qui affiche "Erreur de clé" ## Exercice A2 (variante) - Reprenez une copie de l'exercice 1 - Mais cette fois, ayez un seul bloc `except` qui gère à la fois `IndexError` et `KeyError`, et qui affiche "Erreur d'accès". ## Exercice A3 - Écrivez un bloc `try/except` - Provoquez une erreur dans le bloc `try` (pas une erreur de syntaxe !) - Écrivez un bloc `except` qui ne gère pas la bonne erreur (ex. `IOError`) - Écrivez un bloc `finally` qui affiche du texte - Exécutez votre code et voyez que le bloc `finally` est bien honoré.