Повертає варіант помилки підтипу, що містить номер помилки, указаний користувачем.
Синтаксис
CVErr(код помилки)
Обов'язковим аргументом номер_помилкиє будь-який дійсний номер помилки.
Примітки
Використовуйте функцію CVErr для створення помилок користувача в процедурах, створених користувачем. Наприклад, якщо створюється функція, яка приймає кілька аргументів і зазвичай повертає рядок, можна попросити функцію обчислити вхідні аргументи, щоб переконатися, що вони перебувають у прийнятному діапазоні. Якщо ні, імовірно, функція поверне не те, що очікувалося. У цьому випадку CVErr дозволяє повернути номер помилки, який вказує, яку дію виконати.
Зауважте, що неявне перетворення помилки заборонено. Наприклад, ви не можете безпосередньо призначити значення, що повертає CVErr, змінній, яка не є варіантом. Однак ви можете виконати явне перетворення (за допомогою CInt, CDbl тощо) значення, повернутого CVErr, і призначити його змінній відповідного типу даних.
Приклад
Примітка.
У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.
У цьому прикладі функцію CVErr використано, щоб повернути варіант, тип змінної якого – 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