針對 ASP.NET 例外狀況進行偵錯
在開發強固的 ASP.NET 應用程式時,針對例外狀況進行偵錯是很重要的部分。 如何偵錯例外狀況的一般資訊位於使用偵錯工具管理例外狀況。
若要對未處理的 ASP.NET 例外狀況進行偵錯,則必須確定偵錯工具是否會因為這些例外狀況而停止。 ASP.NET 執行階段擁有最上層例外狀況處理常式。 因此,偵錯工具預設為絕不會在未處理的例外狀況中斷。 若要在擲回例外狀況時中斷偵錯工具,您必須在例外狀況對話方塊中,為該特定例外狀況選取擲回時中斷設定。
如果您已啟用 Just My Code,而當 .NET Framework 方法或其他系統程式碼擲回例外狀況時,[擲回時中斷] 則不會導致偵錯工具立即中斷。 而是直到偵錯工具叫用非系統程式碼後才會停止執行。 因此,您不需要在發生例外狀況時,逐步執行系統程式碼。
Just My Code 提供另一個選項,可能很有用:在使用者程式碼中未處理時繼續。 如果為例外狀況停用這個設定,偵錯工具則會在使用者程式碼中斷執行 (但是只有在使用者程式碼並未攔截和處理例外狀況時)。 因為這個處理常式是在非使用者程式碼中,所以這個設定會取消最上層 ASP.NET 例外狀況處理常式的效果。
若要使用 Just My Code 啟用 ASP.NET 例外狀況的偵錯
在 [偵錯] 功能表上,按一下 [Windows>例外狀況設定]。
[例外狀況] 對話方塊隨即出現。
在 [Common Language Runtime 例外狀況] 下,選取您要在擲回時中斷之例外狀況的資料列。
如果您想要停用 [當使用者程式碼中未處理時繼續],請在資料列上按一下滑鼠右鍵,並取消選取該選項 (如果已選取此選項)。
若要使用 [使用者未處理] 設定,則必須啟用 [Just My Code]。
若要使用 ASP.NET 例外狀況處理的最佳作法
- 對於您可以預期會發生例外狀況並知道如何處理的程式碼,請將
try ... catch
區塊置於此程式碼周圍。 例如,如果應用程式正在呼叫 XML Web 服務或直接呼叫 SQL Server 時,因為許多例外狀況可能會發生,所以這段程式碼應該位於 try ... catch 區塊中。