Share via


调试 ASP.NET 异常

调试异常是开发可靠的 ASP.NET 应用程序的重要一步。 有关如何调试异常的常规信息,请参阅使用调试器管理异常

若要调试未处理的 ASP.NET 异常,必须确保调试器能够在发生这些异常时停止。 ASP.NET 运行时有一个顶级异常处理程序。 因此,默认情况下,调试器绝不会在未经处理的异常中中断。 若要在引发异常时中断调试器,则必须在“异常”对话框中为该特定的异常选择“引发时中断”设置。

如果启用了“仅我的代码”,则当 .NET 方法或其他系统代码中引发异常时,“引发时中断”不会导致调试器立即中断。 执行将继续,直至调试器命中非系统代码时才中断。 因此,不必在发生异常时逐句跟踪系统代码。

“仅我的代码”提供了另一个可能有用的选项:在用户代码中未处理时继续。 如果为某个异常禁用此设置,则调试器将在用户代码中中断执行,但是仅当异常没有被用户代码捕获和处理时,它才会这样做。 此设置会使顶级 ASP.NET 异常处理程序不起作用,因为该处理程序位于非用户代码中。

启用 ASP.NET 异常调试和“仅我的代码”

  1. 在“调试”菜单上,单击“Windows”>“异常设置”。

    随即会出现“异常”对话框。

  2. 在“公共语言运行时异常”下,选择要在引发时中断的异常的行。

  3. 如果要禁用在用户代码中未处理时继续,请右键单击该行并取消选择该选项(如果已选中)。

    要使用“用户未处理的”设置,必须启用“仅我的代码”。

采用 ASP.NET 异常处理的最佳做法

  • 在可能引发您知道如何处理的可预见异常的代码周围放置 try ... catch 块。 例如,如果应用程序调用 XML Web services 或直接调用 SQL Server,则应将该代码置于 try … catch 块中,因为此过程中可能会发生大量异常。