Возвращает значение Variant подтипа Error, содержащее номер ошибки, указанный пользователем.
Синтаксис
CVErr ( номер_ошибки )
Обязательный аргумент номер_ошибкиаргумент представляет собой любой допустимый номер ошибки.
Замечания
Функция 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