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