Raise 方法

Generates a run-time error.

语法

对象引发数字说明帮助文件helpcontext

Raise 方法具有以下对象限定符和命名参数

参数 Description
object 必填。 始终 是 Err 对象。
number 必需。 用于标识错误本质的 Long 整数。 Visual Basic 错误(Visual Basic 定义的错误和用户定义的错误)在 0–65535 范围之内。 范围 0–512 是为系统错误保留的;范围 513–65535 可用于用户定义的错误。

在类模块中将 Number 属性设置为你自己的错误代码时,请将错误代码号添加到 vbObjectError常量。 例如,若要生成错误号 513,可将 vbObjectError + 513 分配给 Number 属性。
可选。 用于命名生成错误的对象或应用程序的字符串表达式。 为 对象设置 Source 属性时,请使用 project.class 窗体。 如果未指定 source,则使用当前 Visual Basic 项目的编程 ID。
description 可选。 用于描述错误的字符串表达式。 如果未指定,则检查 Number 中的值。 如果它可以映射到 Visual Basic 运行时错误代码,则 Error 函数将返回的字符串用作 说明。 如果没有对应于 Number 的 Visual Basic 错误,则使用“应用程序定义的错误或对象定义的错误”消息。
helpfile 可选。 可在其中找到有关此错误的帮助的帮助文件的完全限定路径。 如果未指定,则 Visual Basic 使用 Visual Basic 帮助文件的完全限定驱动器、路径和文件名称。 请参阅 HelpFile
helpcontext 可选。 用于标识提供有关错误的帮助的 helpfile 中的主题的上下文 ID。 如果省略,则使用与 Number 属性对应的错误的 Visual Basic 帮助文件上下文 ID(如果存在)。 请参阅 HelpContext

备注

所有参数均为可选的(除 number 之外)。 如果您使用 Raise 而不指定一些参数,且 Err 对象的属性设置包含尚未清除的值,则这些值将用作您的错误的值。

Raise 用于生成运行时错误,可以使用 Raise 来代替 Error 语句。

Raise 对于在编写类模块时生成错误很有用,因为相比于通过 Error 语句生成错误, Err 对象可以提供更丰富的信息。 例如,通过 Raise 方法,可在 Source 属性中指定生成错误的源,可以引用有关错误的联机帮助,等等。

示例

此示例使用 Err 对象的 Raise 方法在通过 Visual Basic 编写的 Automation 对象中生成错误。 它包括编程 ID MyProj.MyObject。 在 MacIntosh 中,默认的驱动器名称为“HD”,路径名的各个部分用冒号而不是反斜杠分隔。

Const MyContextID = 1010407    ' Define a constant for contextID.
Function TestName(CurrentName, NewName)
    If Instr(NewName, "bob") Then    ' Test the validity of NewName.
        ' Raise the exception
        Err.Raise vbObjectError + 513, "MyProj.MyObject", _
        "No ""bob"" allowed in your name", "c:\MyProj\MyHelp.Hlp", _
        MyContextID
    End If
End Function

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。