Salut,
J'ai une classe dont les méthodes utilisent beaucoup d'autres méthodes qui lancent une grande variété d'exceptions et s'appellent parfois entre elles. De ce fait ça devient très lourd de préciser pour chaque méthode la liste complète des exceptions qu'une méthode est susceptible de lancer - et puis ça complexifie le code des appelants qui doivent soit gérer soit relancer ces exceptions.
J'hésite entre deux solutions :
- soit je créé une exception spécifique à la classe dans laquelle je retraduis le message que je lance à la place de toutes les variétés d'exceptions que je n'ai pas l'intention de gérer dans le code appelant. Le problème c'est qu'en faisant ça je perds potentiellement des détails des exceptions d'origine.
- soit je change la signature des méthodes concernées en "myMethod throws Exception", de ce fait elle peut lancer indifféremment tous les types d'exceptions, mais cela oblige le code appelant à connaître le détail l'implémentation de ma classe pour savoir quoi catcher s'il veut catcher autre chose que Exception.
Que pensez-vous de ces solutions ? Y a t-il une autre approche possible ?
Merci
Partager