← 所有公开测验
开始测验(游客或账户)
Python — Exceptions & gestion d'erreurs
作者 Jude · 23/05/2026 · 117 次浏览 · 次分享
try/except/else/finally, hiérarchie, raise from, gestionnaires de contexte, ExceptionGroup. 20 questions.
20
题目
🇫🇷 Français
语言
中等
难度
测验题目
-
1. Quelle exception est levée par
int("abc")?- TypeError
- ValueError
- SyntaxError
- RuntimeError
-
2. Que produit ce code ?
try: x = 1 / 0 except ZeroDivisionError: print("A") finally: print("B")- A
- B
- A puis B
- B puis A
-
3. Quel est le rôle de la clause
elsedans untry?- Exécutée si une exception est levée
- Exécutée si aucune exception n'est levée
- Capture les exceptions non gérées
- Équivalent de
finally
-
4. Quelle classe est à la racine des exceptions attrapables ordinairement ?
- BaseException
- Exception
- RuntimeError
- Error
-
5. Que fait
raise ValueError("x") from e?- Cache
e - Chaîne explicitement la nouvelle exception à l'originale via
__cause__ - Lève deux exceptions
- Erreur de syntaxe
- Cache
-
6. Quelle pratique est déconseillée ?
except Exception:+ logexcept:nu sans rien faire d'autreexcept (KeyError, IndexError):- Exceptions personnalisées
-
7. Quelle est la sortie ?
def f(): try: return 1 finally: return 2 print(f())- 1
- 2
- None
- Erreur
-
8. Comment créer une exception personnalisée ?
class MyError(Exception): passclass MyError(): raise Exceptiondef MyError(): passraise class MyError
-
9. Quelle exception quand une clé manque dans un dict ?
- IndexError
- KeyError
- AttributeError
- LookupError
-
10. Comportement d'un gestionnaire de contexte (
with) en cas d'exception ?- Avale toutes les exceptions
__exit__reçoit les infos d'exception ; renvoyer truthy l'absorbe, sinon elle se propage- Convertit l'exception en avertissement
- Interrompt le programme
-
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])- a
- b
- ValueError
- AttributeError
-
12. Comment écrire un gestionnaire de contexte « instantané » sans classe ?
@contextlib.contextmanager+ une fonction génératrice avec un seulyield@property@dataclass- Impossible sans classe
-
13. Quelle exception Python 3.11+ regroupe plusieurs erreurs concomitantes ?
- MultiError
- ExceptionGroup
- Joined
- AggregateError
-
14. Que fait
contextlib.suppress(KeyError)?- Loggue et relance
- Supprime silencieusement les
KeyErrorlevées dans le bloc - Convertit en
None - Désactive globalement
KeyError
-
15. Que produit ce code ?
try: raise ValueError except Exception: print("E") except ValueError: print("V")- E
- V
- E puis V
- Erreur de syntaxe
-
16. Quelle assertion sur
assertest correcte ?- Toujours exécuté
- Ignoré quand Python tourne avec
-O(optimisation) - Lève toujours
SystemError - Idéal pour valider des entrées utilisateur
-
17. Comment relancer l'exception courante dans un
except?raisesans argumentraise Exceptionthrowcontinue
-
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__)- ValueError
- ZeroDivisionError
- Exception
- None
-
19. Quel est le comportement de
except* TypeErrorsur unExceptionGroupcontenantTypeErroretValueError?- Attrape tout
- Attrape uniquement le sous-groupe contenant
TypeError; le reste continue à se propager - Erreur de syntaxe
- Convertit
TypeErrorenValueError
-
20. Quelle exception est levée si une boucle est interrompue par
Ctrl+C?- SystemExit
- KeyboardInterrupt
- InterruptedError
- BrokenPipeError