Produit blank

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.

Produit blank

Gestion améliorée des erreurs dans le code 4D

Traduit automatiquement de Deepl

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 !

Produit blank

Intercepter les erreurs partout

Traduit automatiquement de Deepl

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.