Exceptions
La gestion des exceptions est supportées par les scripts.
Une exception peut être déclenchée par un appel avec un paramètre invalide, une condition extérieure, ou manuellement par le script via le mot clef raise. Le code suivant déclenchera par exemple une exception avec un message utilisateur:
Une exception non gérée, remontera la hiérarchie des structures de contrôle du script, et entraînera, si elle n'est pas gérée l'interruption du script.
Il est possible de gérer les interruptions par le biais de deux structures:
- try finally permet de spécifier un code devant être exécuté tout le temps, même en cas d'exception.
- try except permet de spécifier un code devant être exécuté en cas d'exception.
Une bonne pratique en termes de gestions d'exception est de ne pas "cacher les problèmes sous le tapis", ie. il est préférable de ne gérer que les cas parfaitement identifiés, plutôt que de les ignorer et de potentiellement "saboter" des données enregistrées dans la base de données par exemple. En effet corriger un problème avant qu'il n'ait eut d'effets sera généralement plus simple que d'essayer de corriger ses effets, on ne reconstitue pas un morceau de sucre dissous dans une tasse de café.