Skip to main content

Gestion des erreurs

La gestion des erreurs est critique pour identifier au plus vite les problèmes rencontrés par nos utilisateurs.

Centralisation des erreurs​

Toutes les erreurs qui sont émises par n'importe quel service doivent être définies en JSON dans le repository de définition du service à l'intérieur de dev-model-interfaces. N.b.: les erreurs transversales à plusieurs services sont définies dans le dossier /generic.

La centralisation du système d'erreurs permet notamment d'enrichir l'émission d'erreurs avec des informations supplémentaires, telles qu'un message court, une description, des pistes de solution, des détails, etc.

La centralisation permet également d'exposer toutes les erreurs sur un site de documentation unique.

caution

Le site d'erreurs est en cours de construction.

Typologie des erreurs​

Le type des erreurs est défini dans ce schéma JSON. Implémentation technique :

Typescript​

Les erreurs en Typescript sont des classes qui étendent la classe OwlError, qui étend elle-même la classe Error.

Elle peuvent être émises de la manière suivante :

throw new ErrorName(parameters);

HTTP​

Les erreurs sont mises en forme dans les API HTTP et dans les SDK pour qu’elles soient simples à investiguer.

Process de génération des erreurs​

Les erreurs sont définies dans dev-model-interfaces et sont donc générées automatiquement dans les différents languages qui implémentent les services.