Връща стойност Variant от подтип Error , съдържаща номер на грешка зададен от потребителя.
Синтаксис
CVErr ( номер на грешка )
Необходимият номер на грешкааргумент е всеки валиден номер на грешка.
Забележки
Използвайте функцията CVErr , за да създадете грешки, дефинирани от потребителя, в създадени от потребителя процедури. Ако например създадете функция, която приема няколко аргумента и обикновено връща низ, можете да накарате вашата функция да оцени входните аргументи, за да се уверите, че са в приемлив диапазон. Ако не са, вероятно вашата функция няма да върне това, което очаквате. В това събитие CVErr ви позволява да върнете номер на грешка, който ви казва какво действие да предприемете.
Имайте предвид, че неявното конвертиране на грешка не е разрешено. Например не можете директно да присвоите върнатата стойност на CVErr на променлива, който не е variant. Можете обаче да извършите явно конвертиране (чрез CInt, CDbl и т.н.) на стойността, върната от CVErr , и да я присвоите на променлива от подходящата тип данни.
Пример
Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (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