Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.
 
 
 
 
 
 

40 linhas
1018 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.
  29. TODO: exemple plus complet