Para lanzar excepciones, generalmente uso clases de excepción incorporadas, por ejemplo, ArgumentNullException
y NotSupportedException
. Sin embargo, a veces necesito usar una excepción personalizada y en ese caso escribo:
class SlippedOnABananaException : Exception { }
class ChokedOnAnAppleException : Exception { }
y así. Luego lanzo y atrapo estos en mi código. Pero hoy me encontré con elApplicationException
clase, ¿debería usar eso en su lugar? ¿Para qué sirve?
Parece ineficiente tener muchas clases de excepción efectivamente idénticas con nombres diferentes (generalmente no necesito ninguna funcionalidad individual). Pero no me gusta la idea de atrapar un genéricoApplicationException
y tener que usar un código adicional para determinar cuál fue el error.
¿Dónde debería ApplicationException
encajar mi código?