A felhasználó által megadott hibaszámot tartalmazó egyik altípusú hiba variantját adja eredményül.
Szintaxis
CVErr(hibaszám)
A kötelező hibaszámargumentum egy tetszőleges érvényes hibaszám.
Megjegyzések
A CVErr függvénnyel felhasználói hibákat hozhat létre a felhasználó által létrehozott eljárásokban. Ha például olyan függvényt hoz létre, amely több argumentumot fogad el, és normál esetben egy karakterláncot ad vissza, akkor a függvény kiértékeltetheti a bemeneti argumentumokat, és meggyőződhet arról, hogy azok az elfogadható tartományon belül vannak. Ha nem, akkor valószínű, hogy a függvénye nem a várt eredményt fogja adni. Ebben az esetben a CVErr lehetővé teszi, hogy hibaszámot adjon vissza, amely közli, hogy mit kell tennie.
Vegye figyelembe, hogy a hibák implicit konverziója nem engedélyezett. Például a CVErr visszatérési értékét nem rendelheti közvetlenül hozzá olyan változóhoz, amely nem Variant. Elvégezheti azonban a CVErr által visszaadott érték explicit konverzióját (CInt, CDbl stb. segítségével), és hozzárendelheti egy megfelelő adattípusú változóhoz.
Példa
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Ez a példa a CVErr függvénnyel egy olyan Variantot ad vissza, amelynek VarType értékevbError (10). A felhasználó által definiált függvény CalculateDouble hibát ad vissza, ha a számára átadott argumentum nem szám. A CVErr segítségével felhasználó által definiált eljárásokból származó felhasználói hibákat adhat vissza, vagy késleltetheti a futásidejű hiba kezelését. Az IsError függvénnyel megvizsgálhatja, hogy az érték hibát jelent-e.
' 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