QuizLander
← All public quizzes

Python — Exceptions & gestion d'erreurs

by Jude · 23/05/2026 · 116 views · 0 shares

try/except/else/finally, hiérarchie, raise from, gestionnaires de contexte, ExceptionGroup. 20 questions.
20
Questions
🇫🇷 Français
Language
Medium
Difficulty
Start the quiz (as a guest or with an account)
Share as image

Questions in this quiz

  1. 1. Quelle exception est levée par int("abc") ?
    1. TypeError
    2. ValueError
    3. SyntaxError
    4. RuntimeError
  2. 2. Que produit ce code ?
    try:
        x = 1 / 0
    except ZeroDivisionError:
        print("A")
    finally:
        print("B")
    1. A
    2. B
    3. A puis B
    4. B puis A
  3. 3. Quel est le rôle de la clause else dans un try ?
    1. Exécutée si une exception est levée
    2. Exécutée si aucune exception n'est levée
    3. Capture les exceptions non gérées
    4. Équivalent de finally
  4. 4. Quelle classe est à la racine des exceptions attrapables ordinairement ?
    1. BaseException
    2. Exception
    3. RuntimeError
    4. Error
  5. 5. Que fait raise ValueError("x") from e ?
    1. Cache e
    2. Chaîne explicitement la nouvelle exception à l'originale via __cause__
    3. Lève deux exceptions
    4. Erreur de syntaxe
  6. 6. Quelle pratique est déconseillée ?
    1. except Exception: + log
    2. except: nu sans rien faire d'autre
    3. except (KeyError, IndexError):
    4. Exceptions personnalisées
  7. 7. Quelle est la sortie ?
    def f():
        try:
            return 1
        finally:
            return 2
    
    print(f())
    1. 1
    2. 2
    3. None
    4. Erreur
  8. 8. Comment créer une exception personnalisée ?
    1. class MyError(Exception): pass
    2. class MyError(): raise Exception
    3. def MyError(): pass
    4. raise class MyError
  9. 9. Quelle exception quand une clé manque dans un dict ?
    1. IndexError
    2. KeyError
    3. AttributeError
    4. LookupError
  10. 10. Comportement d'un gestionnaire de contexte (with) en cas d'exception ?
    1. Avale toutes les exceptions
    2. __exit__ reçoit les infos d'exception ; renvoyer truthy l'absorbe, sinon elle se propage
    3. Convertit l'exception en avertissement
    4. Interrompt le programme
  11. 11. Que produit ce code ?
    try:
        raise ValueError("a")
    except ValueError as e:
        try:
            raise TypeError("b")
        except TypeError as t:
            print(t.__context__.args[0])
    1. a
    2. b
    3. ValueError
    4. AttributeError
  12. 12. Comment écrire un gestionnaire de contexte « instantané » sans classe ?
    1. @contextlib.contextmanager + une fonction génératrice avec un seul yield
    2. @property
    3. @dataclass
    4. Impossible sans classe
  13. 13. Quelle exception Python 3.11+ regroupe plusieurs erreurs concomitantes ?
    1. MultiError
    2. ExceptionGroup
    3. Joined
    4. AggregateError
  14. 14. Que fait contextlib.suppress(KeyError) ?
    1. Loggue et relance
    2. Supprime silencieusement les KeyError levées dans le bloc
    3. Convertit en None
    4. Désactive globalement KeyError
  15. 15. Que produit ce code ?
    try:
        raise ValueError
    except Exception:
        print("E")
    except ValueError:
        print("V")
    1. E
    2. V
    3. E puis V
    4. Erreur de syntaxe
  16. 16. Quelle assertion sur assert est correcte ?
    1. Toujours exécuté
    2. Ignoré quand Python tourne avec -O (optimisation)
    3. Lève toujours SystemError
    4. Idéal pour valider des entrées utilisateur
  17. 17. Comment relancer l'exception courante dans un except ?
    1. raise sans argument
    2. raise Exception
    3. throw
    4. continue
  18. 18. Que renvoie ce code ?
    def divide(a, b):
        try:
            return a / b
        except ZeroDivisionError as e:
            raise ValueError("b must be nonzero") from e
    
    try:
        divide(1, 0)
    except ValueError as e:
        print(type(e.__cause__).__name__)
    1. ValueError
    2. ZeroDivisionError
    3. Exception
    4. None
  19. 19. Quel est le comportement de except* TypeError sur un ExceptionGroup contenant TypeError et ValueError ?
    1. Attrape tout
    2. Attrape uniquement le sous-groupe contenant TypeError ; le reste continue à se propager
    3. Erreur de syntaxe
    4. Convertit TypeError en ValueError
  20. 20. Quelle exception est levée si une boucle est interrompue par Ctrl+C ?
    1. SystemExit
    2. KeyboardInterrupt
    3. InterruptedError
    4. BrokenPipeError
Answer the questions and see my score

Comments

Sign in to comment.

Loading…