**“异常助手”**是一项用于调试 Visual Basic 和 C# 应用程序的功能。 **“异常助手”比其他语言(例如 C/C++)所使用的“异常”**对话框提供了更多有关异常的信息。这样便更易于查找异常原因并解决问题。
**“异常助手”**在发生运行时异常时出现,它显示异常的类型、故障排除提示以及纠正操作。 **“异常助手”**还可以用来查看异常对象的详细信息。异常是从 Exception 类继承的对象。 异常在出现问题时由代码引发,并在堆栈中向上传递,直到应用程序对其进行处理或者程序失败。
单击**“操作”窗格中的“查看详细信息”**。 即出现一个对话框,显示异常的属性。
下表列出并介绍了一个异常对象的属性。 并非所有属性都会出现,具体取决于异常的类型。
Property |
说明 |
---|---|
数据 |
包含用户定义的键/值对的 IDictionary 对象。 默认值为空集合。 |
FileName |
导致异常的文件的名称。 |
FusionLog |
描述程序集加载失败的原因的日志文件。 |
指向与异常相关联的帮助文件的链接。 |
|
赋给特定异常的编码数值。 |
|
导致当前异常的 Exception 实例。 有时,在帮助器例程中捕获引发的异常,并引发对错误更具描述性的新异常,从而提供更多信息,这么做很有用。 在这种情况下,InnerException 属性将设置为原始异常。 |
|
与异常相关联的消息。 消息以引发异常的线程的 CurrentUICulture 属性所指定的语言显示。 |
|
导致异常的应用程序或对象的名称。 如果未设置 Source,将返回产生异常的程序集的名称。 |
|
引发当前异常时调用堆栈上的方法调用的字符串表示形式。 如果有可用的调试信息,则堆栈跟踪包含源文件名和程序行号。 由于优化期间发生代码转换,StackTrace 报告的方法调用可能没有预期的多。 堆栈跟踪被捕获后,将立即引发异常。 |
|
引发当前异常的方法。 如果引发异常的方法不可用并且堆栈跟踪不是空引用(Visual Basic 中的 Nothing),TargetSite 将从堆栈跟踪获取该方法。 如果堆栈跟踪为空引用,TargetSite 也返回空引用。 |