0045 Rescue_else

Un cas à gérer s'il n'y a pas d'exception?

Ruby permet une gestion d’un cas par défaut seulement s’il n’y a pas d’exception avec else!

0045-rescue_else_1.png

Quel intérêt vu que le code aurait pu à priori être placé dans le begin? C’est que le code dans le else n’est plus protégé par le rescue. Cela permet donc de ne pas gérer une exception inattendue par effet de bord.

0045-rescue_else_2.png

Le else n’est permis que s’il y a des rescue et peut donc être utilisé là où rescue peut l’être : bloc, méthode et même class!

0045-rescue_else_3.png

Le lien vers la documentation Ruby de la gestion des exceptions.