UnhandledExceptionEventArgs.ExceptionObject が例外ではなくオブジェクトなのはなぜですか? 質問する

UnhandledExceptionEventArgs.ExceptionObject が例外ではなくオブジェクトなのはなぜですか? 質問する

なぜ はUnhandledExceptionEventArgs.ExceptionObjectオブジェクトであり、 ではないのでしょうかException?

に添付しますAppDomain.UnhandledException

UnhandledExceptionEventArgs.ExceptionObjectにキャストしExceptionて調べたいと思います。

これを念頭に置くと、null になる可能性はあるでしょうか?

MSDNドキュメントあまり役に立ちません。

未処理の例外オブジェクトを取得します。

ベストアンサー1

.Net では System.Exception から派生しないオブジェクトをスローできるため、これを Exception に型指定することはできません。これは C# または VB.Net では不可能ですが、他の CLR ベースの言語では可能です。したがって、API はこの可能性をサポートする必要があり、型オブジェクトを使用します。

したがって、null になることはありませんが、実際には System.Exception ではない可能性があります。

詳細については、CLI仕様セクション10.5(特にCLSルール40)を参照してください。

おすすめ記事