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

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.