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