Dot-Net
為什麼 UnhandledExceptionEventArgs.ExceptionObject 是對象而不是異常?
為什麼是
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)