Share via


HOW TO:當擲回例外狀況時中斷

偵錯工具可以在發生例外狀況時,立即中斷應用程式的執行,讓您可以在處理常式被叫用 (Invoke) 之前有機會偵錯例外狀況。

如果是在啟用 [NIB] 12/13 如何:逐步執行 Just My Code 的情況下進行偵錯,偵錯工具的行為就會稍有不同。 啟用 Just My Code 之後,偵錯工具便會忽略第一個可能發生的 Common Language Runtime (CLR) 例外狀況,而這些例外狀況會在 My Code 之外擲回,且不會通過 My Code 傳遞。 不過,如果例外狀況完全未經過處理,偵錯工具就一定會中斷。

注意事項注意事項

當您將偵錯工具設定為在擲回 CLR 例外狀況時中斷,並且偵錯工具在 CLR 例外狀況中斷執行時,在某些情況下,由偵錯工具反白顯示的那一行可能會稍微偏離。例如,如果從 if 陳述式內的 Managed 程式碼擲回例外狀況,就可能發生這種情形。偵錯工具會反白顯示所要執行下一個 CLR 指令的那一行,也就是 throw 後面的一行,而非具有 throw 的一行。

使用例外狀況對話方塊時

根據預設,[例外狀況] 對話方塊會列出每一個分類最常見的例外狀況。 您可以加入自己的例外狀況,以及刪除已加入的例外狀況。 Visual Studio 會儲存含有方案資料之已加入例外狀況的清單,當您下次開啟並執行專案時,仍然可以使用這些例外狀況。

注意事項注意事項

[例外狀況] 對話方塊提供了設定控制項的按鍵,讓您可以不必使用滑鼠。控制項標籤中的這些熱鍵會以底線表示。如果停用了 Windows 主題,儘管熱鍵還是可以使用,但底線將為不可見。若要看見熱鍵底線,請使用 Windows [控制台] 來啟用 Windows 主題。

如需詳細資訊,請參閱 HOW TO:加入新例外狀況HOW TO:刪除使用者加入的例外狀況

若要在擲回例外狀況時中斷執行

  1. 在 [偵錯] 功能表上,按 [例外狀況]。

    注意事項注意事項

    如果 [偵錯] 功能表上未出現 [例外狀況] 命令,您可以加入它。如需詳細資訊,請參閱To add the Exceptions command to the Debug menu

  2. 在 [例外狀況] 對話方塊中,選取整個例外狀況分類的 [擲回],例如,[Common Language Runtime 例外狀況]。

    -或-

    展開某個例外狀況分類的節點,例如,[Common Language Runtime 例外狀況],並選取該分類中特定例外狀況的 [擲回]。

若要將例外狀況命令加入至偵錯功能表

  1. 在 [工具] 功能表上,按一下 [自訂]。

    [自訂] 對話方塊隨即出現。

  2. 按一下 [命令] 索引標籤,然後按一下 [功能表列] 清單中的 [偵錯]。

  3. 按一下 [加入命令]。

  4. 在 [加入命令] 對話方塊的 [分類] 中,按一下 [偵錯]。

  5. 按一下 [命令] 中的 [例外狀況],再按一下 [確定]。

  6. (選擇性) 您可以按 [下移] 調整 [例外狀況] 命令在 [偵錯] 功能表上的位置。

  7. 按一下 [關閉]。

請參閱

工作

HOW TO:發生使用者未處理的例外狀況時中斷

[NIB] 12/13 如何:逐步執行 Just My Code

概念

例外狀況處理 (偵錯)