Pour lever des exceptions, j'utilise généralement des classes d'exceptions intégrées, par exemple ArgumentNullExceptionet 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 ApplicationExceptionclasse - 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 ApplicationExceptionet d'avoir à utiliser du code supplémentaire pour déterminer quelle était l'erreur.
Où doit ApplicationExceptions'inscrire mon code?