Dot-Net

為什麼 UnhandledExceptionEventArgs.ExceptionObject 是對象而不是異常?

  • May 27, 2009

為什麼是UnhandledExceptionEventArgs.ExceptionObject一個對象而不是一個Exception

我附在AppDomain.UnhandledException.

我想投到UnhandledExceptionEventArgs.ExceptionObject一個Exception並詢問它。

考慮到這一點,它會永遠為空嗎?

MSDN 文件不是特別有用。

獲取未處理的異常對象。

這不能輸入到 Exception,因為可能會在 .Net 中拋出不是從 System.Exception 派生的對象。這在 C# 或 VB.Net 中是不可能的,但在其他基於 CLR 的語言中是可能的。因此 API 必須支持這種可能性並使用類型對象。

因此,雖然它不應該為 null,但它實際上可能不是 System.Exception。

有關更多詳細資訊,請參閱 CLI 規範第 10.5 節(特別是 CLS 規則 40)

引用自:https://stackoverflow.com/questions/913472