Por que UnhandledExceptionEventArgs.ExceptionObject
um objeto e não um Exception
?
Estou me apegando AppDomain.UnhandledException
.
Eu gostaria de lançar UnhandledExceptionEventArgs.ExceptionObject
um Exception
e interogê-lo.
E com isso em mente, algum dia será nulo?
A documentação do MSDN não é exatamente útil.
Obtém o objeto de exceção não tratada.
System.Exception
. A exceção poderia ter resultado de uma linguagem não compatível com a CLI que decide lançar aSystem.Int32
. Novas versões do CLR irá auto-wrap isso emSystem.Exception
qualquer forma, mas esta é uma configuração que pode ser desativadotry-catch
bloco não permite capturar objetos que não sejam Exceção?Além do que Jared já mencionou, você pode converter com segurança
Exception
no .NET Framework 2.0 e superior seRuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)
tiver sido aplicado ao seu assembly (será adicionado automaticamente pelos compiladores C # e VB).Quando esse atributo for aplicado, as "exceções" que não são de exceção serão agrupadas
RuntimeWrappedException
.fonte