前面有提到在错误处理程序中对于运行错误的来源和相关信息需要检查Err对象。 Err对象包含有运行错误的信息。 对象的属性是由错误的生成者来设置,不需要我们去手工设置。 Err对象是具有全局范围的内置对象,在代码中没有必要建立这些对象的实例。 Err 对象的缺省属性是 Number,下面两种写法的效果是一样的。 但是请注意,如果Err 在表达式的右边,如下图
所产生的效果就不同了,err1是获得了Err对象的引用。 而errNumber只是取得了Err对象的Number属性(也就是错误号)。
Number 属性 返回或设置表示错误的数值。 说明: 不建议直接设置属性的值。 如果要返回自定义错误,建议用Err 对象的Raise 方法产生一个自定义的运行错误。
示例:
Description 属性
返回或设置与错误相关联的描述性字符串。 说明: Description 属性设置对错误进行简短描述。当无法处理或不想处理错误的时候,可以使用这个属性提醒用户。
对于自定义错误,不建议设置该属性值在生成用户自定义的错误时,如果 Description 未填入数据,而且 Number 的值与 Visual Basic 运行时错误一致,那么在生成错误时,将 Error 函数返回的字符串放置在 Description 中。 示例,常见的9 号错误(下标越界)
Source 属性 返回或设置一个字符串表达式,指明最初生成错误的对象或应用程序的名称。 说明: Source 属性是字符串表达式,指定生成错误的对象;此表达式通常是这个对象的类名或程序设计的 ID。
在程序代码无法处理被访问对象产生的错误时,请使用 Source 提供消息。
在错误生成时,Source 就是应用程序的程序设计 ID。对于类模块,Source 应该包含一个具有 project.class 窗体的名称。
当代码中出现不可预料的错误时,Source 属性会自动填上数据。对于标准模块中的错误,Source 含有工程名称。 示例:
工程名称可以通过菜单工具,VBProject 属性(E) 来修改。
当工程名称改过后,菜单项里显示的是工程名称而非VBProject 属性。
LastDLLError 属性 返回因调用动态链接库 (DLL) 而产生的系统错误号。 在Macintosh中,LastDLLError 总是返回零。 说明: LastDLLError 属性只适用于由 Visual Basic 代码进行的 DLL 调用。 在调用时,被调用的函数通常返回一个表明成功还是失败的代码,同时对 LastDLLError 属性填充数据。
请检查 DLL 函数的文档,确定返回值,表明是成功还是失败。
只要返回失败代码,Visual Basic 的应用程序就应立即检查 LastDLLError 属性。
在设置 LastDLLError 属性时不会有任何例外。
|