Връща стойност 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