Pateikia potipio klaidos variantą su vartotojo nurodytu klaidos kodas.
Sintaksė
CVErr ( klaidos numeris )
Reikiamas klaidos numerisargumentas yra bet koks galiojantis klaidos numeris.
Pastabos
Naudokite funkciją CVErr , kad sukurtumėte vartotojo apibrėžtas klaidas vartotojo sukurtose procedūrose. Pavyzdžiui, jei kuriate funkciją, kuri priima kelis argumentus ir paprastai pateikia eilutę, galite nustatyti, kad jūsų funkcija įvertintų įvesties argumentus, kad įsitikintumėte, jog jie patenka į priimtiną diapazoną. Jei taip nėra, tikėtina, kad jūsų funkcija negrąžins to, ko tikitės. Tokiu atveju CVErr leidžia pateikti klaidos numerį, nurodantį, kokių veiksmų imtis.
Atkreipkite dėmesį, kad netiesioginis klaidos konvertavimas neleidžiamas. Pavyzdžiui, negalite tiesiogiai priskirti CVErr grąžinamos reikšmės kintamasis, kuris nėra Variantas. Tačiau galite atlikti aiškų CVErr grąžinamos reikšmės konvertavimą (naudojant CInt, CDbl ir t. t.) ir priskirti jį atitinkamo duomenų tipas kintamajam.
Pavyzdys
Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Šiame pavyzdyje naudojama funkcija CVErr , kad būtų pateiktas variantas , kurio VarType yra vbError (10). Vartotojo apibrėžiama funkcija CalculateDouble pateikia klaidą, jei jai perduotas argumentas nėra skaičius. Naudodami CVErr galite grąžinti vartotojo apibrėžtas klaidas iš vartotojo nustatytų procedūrų arba atidėti vykdymo klaidos apdorojimą. Naudokite funkciją IsError , kad patikrintumėte, ar reikšmė atitinka klaidą.
' 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