Leçon 14 : types d'exceptions, else et finally
Toutes les erreurs ne se valent pas — chacune a un type. int("x") lève une ValueError, et accéder à une clé absente d'un dictionnaire lève une KeyError. Tu peux capturer un type précis avec except ValueError, pour ne traiter que les erreurs que tu attends. De plus, else s'exécute quand tout a réussi
except ValueError, c'est comme dire « n'attrape que les balles rouges » plutôt que « attrape tout ». else, c'est « si tu n'as pas échoué, continue », et finally, c'est « dans tous les cas, range derrière toi ».
- types d'exceptions
- Chaque erreur a un type — ValueError, KeyError, et d'autres. except ValueError ne capture que ce type-là.
- else (dans try)
- Un bloc qui s'exécute uniquement si le bloc try s'est terminé sans exception.
- finally
- Un bloc qui s'exécute toujours à la fin — qu'il y ait eu une exception ou non.