返回子类型 为 Error 的变体,其中包含用户指定的错误编号。
语法
CVErr (errornumber)
必需的 errornumber参数是任何有效的错误号。
备注
使用 CVErr 函数在用户创建的过程中创建用户定义的错误。 例如,如果创建的函数接受多个参数并且通常返回一个字符串,则可以让函数计算输入参数,以确保它们处于可接受的范围内。 如果不是,则函数可能不会返回预期的。 在此事件中, CVErr 允许您返回一个错误编号,该错误编号会告诉您要采取的操作。
请注意,不允许隐式转换 错误 。 例如,不能将 CVErr 的返回值直接分配给不是 Variant 的变量。 但是,你可以使用 CInt、 CDbl 等) CVErr 返回的值执行显式转换 (,并将其分配给适当数据类型的变量。
示例
注意
下面的示例演示了在Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个术语。
此示例使用 CVErr 函数返回 VarType 为 vbError (10) 的变体。 如果用户定义的函数 CalculateDouble 传递给它的参数不是数字,它将返回错误。 可以使用 CVErr 从用户定义的过程返回用户定义的错误,或延迟对运行时错误的处理。 使用 IsError 函数检验该值是否表示错误。
' Call CalculateDouble with an error-producing argument.
Sub Test()
Debug.Print CalculateDouble("345.45robert")
End Sub
' Define CalculateDouble Function procedure.
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Return result.
Else
CalculateDouble = CVErr(2001) ' Return a user-defined error
End If ' number.
End Function