语 法:
对象。Raise number、 source、 description、 helpfile、 helpcontext
Raise 方法具有以下对象限定符和 命名参数:
参数说明:
object 必填。 始终为 Err 对象。
number 必需。 用于标识错误本质的 Long 整数。 Visual Basic 65535 (Visual Basic 65535 (定义和用户定义的) 错误 – 。 范围 0 – 512 保留用于系统错误;范围 513 – 65535 可用于用户定义的错误。
在类模块中将 Number 属性设置为自己的错误代码时,将错误代码编号添加到 vbObjectError 常量中。 例如,若要生成 错误号 513,可将 vbObjectError + 513 分配给 Number 属性。
source 可选。 用于命名生成错误的对象或应用程序的字符串表达式。 设置对象的 Source 属性时,请使用窗体project.class。 如果未指定 source,则使用当前 Visual Basic 项目的编程 ID。
description 可选。 用于描述错误的字符串表达式。 如果未指定,则检查 Number 中的值。 如果它可以映射到一个Visual Basic错误代码,则 Error 函数返回的字符串将用作 Description。 如果没有对应于 Number 的 Visual Basic 错误,则使用“应用程序定义的错误或对象定义的错误”消息。
helpfile 可选。 可在其中找到有关此错误的帮助的帮助文件的完全限定路径。 如果未指定,则 Visual Basic 使用 Visual Basic 帮助文件的完全限定驱动器、路径和文件名称。 请参阅 帮助文件。
helpcontext 可选。 用于标识提供有关错误的帮助的 helpfile 中的主题的上下文 ID。 如果省略,则使用与 Number 属性对应的错误的 Visual Basic 帮助文件上下文 ID(如果存在)。 请参阅 HelpContext。
备 注:
所有 参数均为可选的(除 number 之外)。 如果您使用 Raise 而不指定一些参数,且 Err 对象的属性设置包含尚未清除的值,则这些值将用作您的错误的值。
Raise 用于生成运行时错误,并可用于替代 Error 语句。
Raise 对于在编写类模块时生成错误很有用,因为相比于通过 Error 语句生成错误, Err 对象可以提供更丰富的信息。 例如,通过 Raise 方法,可在 Source 属性中指定生成错误的源,可以引用有关错误的联机帮助,等等。
示 例:
此示例使用 Err 对象的 Raise 方法在通过 Visual Basic 编写的 Automation 对象中生成错误。 它包括编程 ID MyProj.MyObject。 在 MacIntosh 上,默认驱动器名称为"HD",并且路径名称的各个部分由冒号而不是反斜线分隔。
Const MyContextID = 1010407 ' 为 contextID 定义一个常量
Function TestName(CurrentName, NewName)
If Instr(NewName, "bob") Then ' 测试NewName的有效性
' 引发异常
Err.Raise vbObjectError + 513, "MyProj.MyObject", _
"No ""bob"" allowed in your name", "c:\MyProj\MyHelp.Hlp", _
MyContextID
End If
End Function