No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
Este repositorio está archivado. Puede ver los archivos y clonarlo, pero no puede subir cambios o reportar incidencias ni pedir Pull Requests.
 
 
 
 
 
 

38 líneas
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.