2 votes

Trouver uniquement les lancements explicites dans le code géré

J'essaie d'envelopper un ancien service pour mon API. Les modèles de domaine qui effectuent des opérations CRUD dans le service lèvent des exceptions standard explicites telles que ArgumentException o AggregateException tout en les jetant implicitement par des procédures stockées qui ont échoué. Je ne souhaite pas exposer des informations sur la base de données ou le programme en enveloppant toutes les exceptions, je veux juste capturer celles qui sont lancées par les anciens développeurs.

Quelle est la meilleure façon de capturer explicitement throw new ArgumentException() tout en évitant l'implicite ArgumentException lancée par une procédure stockée qui a échoué ?

1voto

George Vovos Points 1049

Comme vous l'avez probablement remarqué, il n'y a pas de moyen d'attraper uniquement les lancers explicites.
La façon la plus sûre de résoudre votre problème est de lancer une exception personnalisée qui hérite de votre exception originale.
De cette façon, vous pouvez gérer les lancers explicites et vous ne brisez pas les déclarations try/catch existantes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X