Palauttaa alityyppivirheen variantin, joka sisältää käyttäjän määrittämän virhenumeron.
Syntaksi
CVErr(errornumber)
Pakollinen virhenumero-argumenttion mikä tahansa kelvollinen virhenumero.
Huomautuksia
Voit CVErr-funktion avulla luoda käyttäjän määrittämiä virheitä käyttäjän luomissa toimenpiteissä. Jos luot esimerkiksi funktion, joka hyväksyy useita argumentteja ja palauttaa yleensä merkkijonon, voit antaa funktion arvioida syötteen argumentteja sen varmistamiseksi, että ne ovat hyväksytyllä alueella. Jos näin ei ole, funktio ei todennäköisesti palauta odottamaasi merkkijonoa. Tässä tapauksessa voit palauttaa CVErr-funktion avulla virhenumeron, joka kertoo, mitä on tehtävä.
Huomaa, että virheen implisiittistä muuntamista ei sallita. Et voi esimerkiksi suoraan määrittää CVErrin palautusarvoa muuttujalle, joka ei ole variantti. Voit kuitenkin suorittaa CVErrin palauttaman arvon eksplisiittisen muunnoksen (esimerkiksi CIntin, CDbl:n ja niin edelleen) ja määrittää sen sopivan tietotyypin muuttujalle.
Esimerkki
Huomautus
Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Tässä esimerkissä käytetään CVErr-funktiota palauttamaan variantti, jonka VarType on vbError (10). Käyttäjän määrittämä funktio CalculateDouble palauttaa virheen, jos sille välitetty argumentti ei ole luku. Voit palauttaa CVErr-funktion avulla käyttäjän määrittämät virheet käyttäjän määrittämistä toimenpiteistä tai lykätä käytönaikaisen virheen käsittelyä. Voit IsError-funktion avulla testata, edustaako arvo virhettä.
' 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