Возвращает тип Variant подтипа Error , содержащий номер ошибки, указанный пользователем.
Синтаксис
CVErr(errornumber)
Обязательным аргументом errornumberявляется любой допустимый номер ошибки.
Замечания
Функция CVErr используется для создания определенных пользователем ошибок в пользовательских процедурах. Например, если вы создаете функцию, которая принимает несколько аргументов и возвращает строку, можно добавить проверку входных аргументов, чтобы убедиться, что они находятся в допустимом диапазоне. Если это не так, скорее всего, функция не вернет ожидаемый результат. В этом случае CVErr позволяет получить номер ошибки, который показывает, что следует предпринять.
Обратите внимание, что неявное преобразование ошибки не допускается. Например, нельзя напрямую присвоить возвращаемое значение CVErr переменной, которая не является Variant. Однако можно выполнить явное преобразование (с помощью CInt, CDbl и т. д.) значения, возвращаемого CVErr , и присвоить его переменной соответствующего типа данных.
Пример
Примечание
В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
В данном примере функция CVErr возвращает переменную Variant, у которой 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