异常处理(调试)

异常是在程序运行时发生的不正常情况。 异常通常表示有需要调试的问题。 发生异常时,调试器将向**“输出”**窗口中写入一条异常消息,但在““选项”对话框 ->“调试”->“常规””对话框中禁用了该选项的情况除外。

发生异常时,调试器不一定会中断执行。

  • 如果发生了非 ASP.NET 异常并且没有进行处理,调试器总是会中断执行。

  • 您可以让调试器在引发异常时立即中断执行(在调用任何处理程序之前)。 有关详细信息,请参阅如何:在引发异常时中断

  • 如果使用“仅我的代码”进行调试,您还有第三个选项。 您可以让调试器在遇到任何未由用户代码(“我的代码”)中的处理程序处理的异常时中断执行。 有关详细信息,请参阅如何:在遇到用户未经处理的异常时中断

  • ASP.NET 有一个顶级异常处理程序,该处理程序在对异常进行处理时向浏览器用户显示错误页面。 该顶级异常处理程序会阻止未经处理的异常中断到调试器中,除非打开了“仅我的代码”。 请确保对 ASP.NET 调试启用“仅我的代码”。

    请记住,如果发生了异常但根本没有进行处理,调试器总是会中断执行。 用户未处理的设置不会更改这一行为。

Visual Studio 调试器识别下列类别的异常:

  • C++ 异常

  • 公共语言运行时异常

  • 托管调试助手

  • 本机运行时检查

  • Win32 异常

  • Javascript 运行时异常

  • GPU 内存访问异常

大多数异常都有相应的处理程序,用于在异常发生时做出响应。 这样程序便有可能从异常状况中恢复过来。 本机运行时检查没有处理程序。

在 Visual Basic 应用程序中,调试器将所有错误都表示为异常,即使使用 On Error 样式的错误处理程序。

对于 Visual Basic 和 C#,调试器现在具备了一项新增的异常助手功能,此功能可在发生异常时提供更多信息。

以下主题提供了有关异常处理的信息:

请参见

概念

调试器安全

其他资源

异常助手

调试器指南

<PAVEOVER> 如何:单步执行“仅我的代码”