Raise
生成运行时错误。
语法:Err.Raise number [ , source [ , description [ , helpfile [ , helpcontext ] ] ] ]
- number
- 必需 标识错误性质的 Long。内置错误的范围为 0--65535;0--512 范围保留给系统错误,513--65535 可用于用户定义的错误。从类模块引发用户定义的错误时,将选定编号与 vbObjectError 常量相加——例如,
vbObjectError + 513。 - source
- 可选 命名生成错误的对象或应用程序的 String。为对象设置 Source 属性时,使用 project.class 格式。如果未指定 source,则使用当前 twinBASIC 项目的编程 ID。
- description
- 可选 描述错误的 String。如果未指定,则检查 number 的值;如果可以映射到内置运行时错误代码,则使用 Error 函数将返回的字符串作为 Description。如果没有匹配的内置错误,则使用消息
Application-defined or object-defined error。 - helpfile
- 可选 可找到此错误帮助的帮助文件的完全限定路径。如果未指定,则清除 HelpFile 属性。
- helpcontext
- 可选 标识 helpfile 中提供错误帮助的主题的上下文 ID。如果省略,则清除 HelpContext 属性。
除 number 外,所有参数均为可选。当调用 Raise 时未指定某些参数,且 Err 对象的相应属性仍保留先前错误的值时,这些值将作为当前错误的值。
生成运行时错误时,Raise 优于 Error 语句,特别是在类模块中:Err 对象保存的信息比 Error 语句能提供的更丰富。使用 Raise 可以在 Source 属性中指定生成错误的来源,可以通过 HelpFile 和 HelpContext 引用错误的联机帮助等。
示例
此示例使用 Err 对象的 Raise 方法从编程 ID 为 MyProj.MyObject 的自动化对象内部生成错误。
vb
Const MyContextID As Long = 1010407 ' Define a constant for the contextID.
Function TestName(ByVal CurrentName As String, ByVal NewName As String)
If InStr(NewName, "bob") Then ' Test the validity of NewName.
Err.Raise vbObjectError + 513, "MyProj.MyObject", _
"No ""bob"" allowed in your name", _
"C:\MyProj\MyHelp.chm", MyContextID
End If
End Function另请参阅
- Number 属性
- Source 属性
- Description 属性
- HelpFile 属性
- HelpContext 属性
- Clear 方法
- Error 语句