Je vois pas comment m'expliquer plus clairement. Les choses sont liées entre elles. Si tu as une abstraction, elle doit bien avoir un sens, non ? Tu est sensé faire le même boulot d'abstraction avec tes exceptions qu'avec le reste de ton code. Ça donne un comportement cohérent à ton API.
Il ne s'agit en aucun cas de faire un rethrow de l'exception tout juste encapsulée dans une nouvelle exception, mais de faire un travail de normalisation à fin de permettre à l’appelant d'utiliser ton abstraction de manière facilité et de ne pas avoir à se préoccuper de tous les cas, mais uniquement à faire un travail de présentation (pour l'exemple du dessus).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Mauvaise connaissance du c++
Posté par barmic . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 4.
Je vois pas comment m'expliquer plus clairement. Les choses sont liées entre elles. Si tu as une abstraction, elle doit bien avoir un sens, non ? Tu est sensé faire le même boulot d'abstraction avec tes exceptions qu'avec le reste de ton code. Ça donne un comportement cohérent à ton API.
Il ne s'agit en aucun cas de faire un rethrow de l'exception tout juste encapsulée dans une nouvelle exception, mais de faire un travail de normalisation à fin de permettre à l’appelant d'utiliser ton abstraction de manière facilité et de ne pas avoir à se préoccuper de tous les cas, mais uniquement à faire un travail de présentation (pour l'exemple du dessus).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)