traduccion solucion practices handling c0000005 best .net exception exception-handling unhandled-exception

.net - practices - unhandled exception solucion



¿Por qué UnhandledExceptionEventArgs.ExceptionObject es un objeto y no una excepción? (2)

¿Por qué UnhandledExceptionEventArgs.ExceptionObject es un objeto y no una Exception ?

Me estoy conectando a AppDomain.UnhandledException .

Me gustaría lanzar UnhandledExceptionEventArgs.ExceptionObject a una Exeption e Exeption .

Y con esto en mente, ¿será alguna vez nulo?

La documentación de MSDN no es muy útil.

Obtiene el objeto de excepción no controlada.


Además de lo que Jared ya ha mencionado, puede convertir de forma segura a Exception en .NET Framework 2.0 y superior si RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true) se ha aplicado a su ensamblaje (se agregará automáticamente mediante los compiladores C # y VB).

Cuando se haya aplicado este atributo, las "excepciones" que no sean excepciones se envolverán en RuntimeWrappedException .


No se puede escribir en Excepción porque es posible lanzar objetos en .Net que no se derivan de System.Exception. Esto no es posible en C # o VB.Net, pero es posible en otros lenguajes basados ​​en CLR. Por lo tanto, la API debe admitir esta posibilidad y utiliza el objeto tipo.

Entonces, aunque nunca debería ser nulo, puede que en realidad no sea una excepción del sistema.

Consulte la sección de especificaciones CLI 10.5 (específicamente la regla 40 de CLS) para obtener más detalles.