共用方式為


針對 ASP.NET 例外狀況進行偵錯

在開發強固的 ASP.NET 應用程式時,針對例外狀況進行偵錯是很重要的部分。 如何偵錯例外狀況的一般資訊位於使用偵錯工具管理例外狀況

若要對未處理的 ASP.NET 例外狀況進行偵錯,則必須確定偵錯工具是否會因為這些例外狀況而停止。 ASP.NET 執行階段擁有最上層例外狀況處理常式。 因此,偵錯工具預設為絕不會在未處理的例外狀況中斷。 若要在擲回例外狀況時中斷偵錯工具,您必須在例外狀況對話方塊中,為該特定例外狀況選取擲回時中斷設定。

如果您已啟用 Just My Code,而當 .NET Framework 方法或其他系統程式碼擲回例外狀況時,[擲回時中斷] 則不會導致偵錯工具立即中斷。 而是直到偵錯工具叫用非系統程式碼後才會停止執行。 因此,您不需要在發生例外狀況時,逐步執行系統程式碼。

Just My Code 提供另一個選項,可能很有用:在使用者程式碼中未處理時繼續。 如果為例外狀況停用這個設定,偵錯工具則會在使用者程式碼中斷執行 (但是只有在使用者程式碼並未攔截和處理例外狀況時)。 因為這個處理常式是在非使用者程式碼中,所以這個設定會取消最上層 ASP.NET 例外狀況處理常式的效果。

若要使用 Just My Code 啟用 ASP.NET 例外狀況的偵錯

  1. 在 [偵錯] 功能表上,按一下 [Windows>例外狀況設定]

    [例外狀況] 對話方塊隨即出現。

  2. 在 [Common Language Runtime 例外狀況] 下,選取您要在擲回時中斷之例外狀況的資料列。

  3. 如果您想要停用 [當使用者程式碼中未處理時繼續],請在資料列上按一下滑鼠右鍵,並取消選取該選項 (如果已選取此選項)。

    若要使用 [使用者未處理] 設定,則必須啟用 [Just My Code]

若要使用 ASP.NET 例外狀況處理的最佳作法

  • 對於您可以預期會發生例外狀況並知道如何處理的程式碼,請將 try ... catch 區塊置於此程式碼周圍。 例如,如果應用程式正在呼叫 XML Web 服務或直接呼叫 SQL Server 時,因為許多例外狀況可能會發生,所以這段程式碼應該位於 try ... catch 區塊中。