如何:使用异常助手查找有关异常的更多信息

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题适用 主题适用 主题不适用 主题适用

标准版

主题适用 主题适用 主题不适用 主题适用

专业团队版

主题适用 主题适用 主题不适用 主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

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

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

说明:

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

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

属性

说明

Data

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

FileName

导致异常的文件的名称。

FusionLog

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

HelpLink

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

HResult

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

InnerException

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

Message

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

Source

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

StackTrace

引发当前异常时调用堆栈上的方法调用的字符串表示形式。堆栈跟踪包括源文件名称和程序行号(如果调试信息可用)。StackTrace 报告的方法调用可能比预期的少,这是由在优化过程中发生的代码转换导致的。堆栈跟踪被捕获后,将立即引发异常。

TargetSite

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

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

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

请参见

任务

如何:映射 HRESULT 和异常

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

如何:检查异常的内部异常

概念

选择何时使用结构化异常处理和非结构化异常处理

参考

“异常助手”对话框

其他资源

处理和引发异常