Les blocs de code Try-Catch dévoilés !
Après avoir implémenté la commande throw() et introduit le mot-clé Try(Expression), nous sommes ravis de dévoiler la prochaine évolution du système de gestion des erreurs de 4D : l’introduction des blocs de code Try-Catch!
Une nouvelle façon de traiter les erreurs
Nous avons récemment introduit un nouveau mécanisme de gestion des erreurs en utilisant la nouvelle commande throw().
Il s’agit de la première étape vers un nouveau système de gestion des erreurs, positionné aussi près que possible du code qui les génère.
Dans la phase suivante, avec 4D v20 R4, nous étendons cette approche pour intercepter les erreurs pendant l’exécution d’une expression.
Entrons dans les détails.
Gestion améliorée des erreurs dans le code 4D
Lancer des erreurs dans votre code 4D est désormais possible à partir de la version 20R2.
Ces erreurs se comportent comme n’importe quelle erreur 4D : elles déclenchent un dialogue d’erreur ou peuvent être traitées dans une méthode ON ERR CALL.
Cette fonctionnalité vous facilitera la vie car vous serez en mesure d’améliorer la qualité de votre code en détectant les erreurs de manière proactive dès qu’elles se produisent. Vous pourrez également améliorer la journalisation des erreurs.
Avant d’entrer dans les détails, il est important de noter que cette fonctionnalité est la première étape vers une gestion robuste des erreurs.
Maintenant, entrons dans les détails !
Intercepter les erreurs partout
La gestion des erreurs est souvent une partie contraignante du développement dans tous les langages. Dans 4D, si vous oubliez d’appeler une méthode de gestion des erreurs dans un nouveau process/worker ou si vous utilisez des composants qui ne gèrent pas les erreurs, le dialogue d’erreur intégré 4D peut apparaître à l’utilisateur final. Les développeurs 4D aimeraient intercepter toutes les erreurs dans tous les contextes afin d’éviter l’affichage de ce dialogue d’erreur intégré 4D.
Voyons comment nous pouvons gérer ce comportement avec 4D v19 R8.