Applies To„Access“, skirta „Microsoft 365“ Access 2021 Access 2019 Access 2016

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

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.