Returns a Variant of subtype Error containing an error number specified by the user.
Syntax
CVErr(errornumber)
The required errornumber argument is any valid error number.
Remarks
Use the CVErr function to create user-defined errors in user-created procedures. For example, if you create a function that accepts several arguments and normally returns a string, you can have your function evaluate the input arguments to ensure they are within acceptable range. If they are not, it is likely your function will not return what you expect. In this event, CVErr allows you to return an error number that tells you what action to take.
Note that implicit conversion of an Error is not allowed. For example, you can't directly assign the return value of CVErr to a variable that is not a Variant. However, you can perform an explicit conversion (by using CInt, CDbl, and so on) of the value returned by CVErr and assign that to a variable of the appropriate data type.
Example
This example uses the CVErr function to return a Variant whose VarType is vbError (10). The user-defined function CalculateDouble
returns an error if the argument passed to it isn't a number. Use CVErr to return user-defined errors from user-defined procedures or to defer handling of a run-time error. Use the IsError function to test if the value represents an error.
' 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