Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
To repozytorium jest zarchiwizowane. Możesz wyświetlać pliki i je sklonować, ale nie możesz do niego przepychać zmian lub otwierać zgłoszeń/Pull Requestów.

123456789101112131415161718192021222324252627282930313233343536373839
  1. Else et finally
  2. ===============
  3. else
  4. ----
  5. Si on rajoute un bloc ``else`` après le ``except``, le bloc n'est éxécuté que si
  6. *aucune* exception n'a été levée::
  7. try:
  8. tente_un_truc_risqué()
  9. except (ZeroDivisionError, FileNotFoundError):
  10. print("raté")
  11. else:
  12. print("ouf - ça a marché")
  13. finally
  14. --------
  15. Si on rajoute un bloc ``finally`` après le ``except``, le bloc est éxécuté *dans tous les cas*,
  16. qu'une exception ait été levée ou non. On s'en sert souvent pour "annuler" du code
  17. qui aurait été utilisé dans le bloc ``try``::
  18. personnage = Personnage()
  19. try:
  20. personnage.entre_en_scène()
  21. personnage.tente_un_truc_risqué()
  22. except ZeroDivisionError:
  23. print("raté")
  24. finally:
  25. personnage.quitte_la_scène()
  26. Si dans le bloc ``try`` une exception **différente** de ``ZeroDivisionError`` est
  27. levée, on passera *quand même* dans le bloc ``finally``, *puis* l'exception sera
  28. levée à nouveau.
  29. TODO: exemple plus complet