如何:使用例外狀況助理

每當發生執行階段例外狀況時所出現的 [例外狀況助理],會顯示例外狀況的類型、疑難排解秘訣,以及更正的動作。 [例外狀況助理] 也可以用來查看例外狀況物件的詳細資料。

例外狀況是繼承自 Exception 類別的物件。 發生問題時,程式碼便會擲回例外狀況,並將它傳遞到堆疊,直到應用程式處理這個例外狀況或程式失敗為止。

注意事項注意事項

根據您目前使用的設定或版本,您所看到的對話方塊選項,以及功能表命令的名稱和位置,可能會與 [說明] 中描述的不同。撰寫這個說明網頁時,會考慮到 [一般開發設定]。若要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 中的自訂開發設定

下表列出並描述例外狀況物件的屬性。 並非所有屬性都會出現,需視例外狀況的類型而定。

屬性

說明

Data

包含使用者定義之索引鍵/值組的 IDictionary 物件。 預設為空集合。

FileName

造成例外狀況的檔名。

FusionLog

說明組件 (Assembly) 載入失敗原因的記錄檔。

HelpLink

連結至與例外狀況關聯的說明檔案。

HResult

指派給特定例外狀況的編碼數目值。

InnerException

造成目前例外狀況的 Exception 執行個體。 有時候,攔截在 Helper 常式中擲回的例外狀況,並擲回關於錯誤的新指示性例外狀況是很有用的,如此即可提供更多的資訊。 在這種情況下,InnerException 屬性便會設定為原始的例外狀況。

Message

與例外狀況關聯的訊息。 顯示此訊息的語言,是由擲回例外狀況之執行緒的 CurrentUICulture 屬性指定。

Source

造成例外狀況之應用程式或物件的名稱。 如果沒有設定 Source,便會傳回產生例外狀況所在組件的名稱。

StackTrace

擲回目前的例外狀況時,呼叫堆疊上方法呼叫的字串表示。 堆疊追蹤包括來源檔名稱和程式行號 (若有偵錯資訊的話)。 StackTrace 可能會因為發生在最佳化期間的程式碼轉換,而無法報告所預期的多個方法呼叫。 堆疊追蹤會在擲回例外狀況之前遭到擷取。

TargetSite

擲回目前例外狀況的方法。 如果沒有擲回例外狀況的可用方法,並且堆疊追蹤不是 null 參考 (Visual Basic 中的 Nothing),TargetSite 就會從堆疊追蹤取得方法。 如果堆疊追蹤是 null 參考,TargetSite 也就會傳回 null 參考。

若要取得例外狀況物件的詳細資料

  • 按一下 [動作] 窗格中的 [檢視詳細資料]。 顯示例外狀況屬性的對話方塊隨即出現。

請參閱

工作

如何:對應 HRESULT 和例外狀況

如何:使用例外狀況助理修正執行階段錯誤

參考

例外狀況助理對話方塊

其他資源

Choosing When to Use Structured and Unstructured Exception Handling

處理和擲回例外狀況

How to: Check an Exception's Inner Exception