如何:使用异常助手

**“异常助手”**在发生运行时异常时出现,它显示异常的类型、故障排除提示以及纠正操作。 **“异常助手”**还可以用来查看异常对象的详细信息。

异常是从 Exception 类继承的对象。 异常在出现问题时由代码引发,并在堆栈中向上传递,直到应用程序对其进行处理或者程序失败。

备注

对话框中的可用选项以及显示的菜单命令的名称和位置可能会与“帮助”中的描述不同,具体取决于所用设置或版本。此帮助页是根据“常规开发设置”而编写的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关详细信息,请参阅 在 Visual Studio 中自定义开发设置

下表列出并介绍了一个异常对象的属性。 并非所有属性都会出现,具体取决于异常的类型。

Property

说明

数据

包含用户定义的键/值对的 IDictionary 对象。 默认值为空集合。

FileName

导致异常的文件的名称。

FusionLog

描述程序集加载失败的原因的日志文件。

HelpLink

指向与异常相关联的帮助文件的链接。

HResult

赋给特定异常的编码数值。

InnerException

导致当前异常的 Exception 实例。 有时,在帮助器例程中捕获引发的异常,并引发对错误更具描述性的新异常,从而提供更多信息,这么做很有用。 在这种情况下,InnerException 属性将设置为原始异常。

Message

与异常相关联的消息。 消息以引发异常的线程的 CurrentUICulture 属性所指定的语言显示。

Source

导致异常的应用程序或对象的名称。 如果未设置 Source,将返回产生异常的程序集的名称。

StackTrace

引发当前异常时调用堆栈上的方法调用的字符串表示形式。 如果有可用的调试信息,则堆栈跟踪包含源文件名和程序行号。 由于优化期间发生代码转换,StackTrace 报告的方法调用可能没有预期的多。 堆栈跟踪被捕获后,将立即引发异常。

TargetSite

引发当前异常的方法。 如果引发异常的方法不可用并且堆栈跟踪不是空引用(Visual Basic 中的 Nothing),TargetSite 将从堆栈跟踪获取该方法。 如果堆栈跟踪为空引用,TargetSite 也返回空引用。

查找有关异常对象的更多信息

  • 单击**“操作”窗格中的“查看详细信息”**。 即出现一个对话框,显示异常的属性。

请参见

任务

如何:映射 HRESULT 和异常

如何:使用异常助手纠正运行时错误

参考

“异常助手”对话框

其他资源

Choosing When to Use Structured and Unstructured Exception Handling

处理和引发异常

How to: Check an Exception's Inner Exception