Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Ce dépôt est archivé. Vous pouvez voir les fichiers et le cloner, mais vous ne pouvez pas pousser ni ouvrir de ticket/demande d'ajout.
 
 
 
 
 
 

38 lignes
990 B

  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.