Per generare eccezioni, di solito utilizzo classi di eccezioni integrate, ad esempio ArgumentNullException
e NotSupportedException
. Tuttavia, a volte ho bisogno di usare un'eccezione personalizzata e in quel caso scrivo:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
e così via. Poi lancio e prendo questi nel mio codice. Ma oggi mi sono imbattuto nella ApplicationException
classe - dovrei usarlo invece? Per cosa è?
Sembra inefficiente avere molte classi di eccezione effettivamente identiche con nomi diversi (di solito non ho bisogno di alcuna funzionalità individuale). Ma non mi piace l'idea di catturare un generico ApplicationException
e di dover usare un codice aggiuntivo per determinare quale fosse l'errore.
Dove dovrebbe ApplicationException
adattarsi al mio codice?