Pour lever des exceptions, j'utilise généralement des classes d'exceptions intégrées, par exemple ArgumentNullException
et NotSupportedException
. Cependant, parfois j'ai besoin d'utiliser une exception personnalisée et dans ce cas j'écris:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
etc. Ensuite, je lance et attrape ces derniers dans mon code. Mais aujourd'hui, je suis tombé sur la ApplicationException
classe - devrais-je utiliser cela à la place? C'est pour quoi?
Il semble inefficace d'avoir beaucoup de classes d'exception effectivement identiques avec des noms différents (je n'ai généralement pas besoin de fonctionnalité individuelle). Mais je n'aime pas l'idée d'attraper un générique ApplicationException
et d'avoir à utiliser du code supplémentaire pour déterminer quelle était l'erreur.
Où doit ApplicationException
s'inscrire mon code?