Para lançar exceções, eu costumo usar classes de exceção internas, por exemplo, ArgumentNullException
e NotSupportedException
. No entanto, às vezes eu preciso usar uma exceção personalizada e, nesse caso, escrevo:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
e assim por diante. Então eu jogo e pego isso no meu código. Mas hoje me deparei com a ApplicationException
classe - eu deveria estar usando isso? Para que serve isto?
Parece ineficiente ter muitas classes Exception efetivamente idênticas com nomes diferentes (geralmente não preciso de nenhuma funcionalidade individual). Mas não gosto da idéia de pegar um genérico ApplicationException
e ter que usar código extra para determinar qual foi o erro.
Onde deve se ApplicationException
encaixar no meu código?