? Tan solo por curiosidad, quería ver qué era especial acerca de la clase de excepción que permitía usarla con la palabra clave Throw
, mientras que una clase estándar no lo es.¿Por qué un tipo arrojado o atrapado se deriva de System.Exception
Todo lo que encontré es que la clase de excepción previstos los siguientes
public class Exception : System.Object, System.Runtime.Serialization.ISerializable, System.Runtime.InteropServices._Exception
{
}
así que traté de aplicar esas mismas interfaces e intentar tirar mi propia excepción personalizada que no se derivan de System.Exception
en vano. Simplemente estaba informaron de que
El tipo agarrado o lanzado deben derivarse de
System.Exception
Entonces, ¿hay alguna razón específica para esto? Supongo que hay pocas opciones en los idiomas administrados que parecen arbitrarias.
Creo que para averiguar cómo funciona, tendría más sentido echar un vistazo a la implementación de 'throw' en lugar de la clase' Exception'. – Guillaume
Bastante pero, sinceramente, no tengo ni idea de dónde empezar a hacer eso ... –