Почему UnhandledExceptionEventArgs.ExceptionObject
объект, а не объект Exception
?
Я прикрепляюсь к AppDomain.UnhandledException
.
Я хотел бы, чтобы бросить UnhandledExceptionEventArgs.ExceptionObject
на Exception
и interogate его.
И с учетом этого будет ли оно когда-нибудь нулевым?
Документация MSDN не особо полезна.
Получает объект необработанного исключения.
System.Exception
. Исключение могло произойти из-за несовместимого с CLI языка, который решил выбросить файлSystem.Int32
. В новых версиях CLR это будет автоматически,System.Exception
но это параметр, который можно отключитьtry-catch
блок не позволяет отлавливать объекты, не являющиеся исключениями?В дополнение к тому, что уже упомянул Джаред, вы можете безопасно выполнить приведение
Exception
в .NET Framework 2.0 и выше, еслиRuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)
оно было применено к вашей сборке (будет добавлено автоматически компиляторами C # и VB).Когда этот атрибут был применен, «исключения», не являющиеся исключениями, будут заключены в оболочку
RuntimeWrappedException
.источник