A felhasználó által megadott hibaszám tartalmazó hiba altípus variantját adja vissza.
Szintaxis
CVErr ( errornumber )
A szükséges hibaszámargumentum bármely érvényes hibaszám.
Megjegyzések
A CVErr függvénnyel felhasználó által definiált 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 általában egy sztringet ad vissza, a függvény kiértékelheti a bemeneti argumentumokat, hogy azok elfogadható tartományon belül legyenek. Ha nem, akkor valószínű, hogy a függvény nem a várt értéket adja vissza. Ebben az esetben a CVErr lehetővé teszi, hogy visszaadjon egy hibaszámot, amely jelzi, hogy milyen műveletet kell elvégeznie.
Vegye figyelembe, hogy a hibák implicit konvertálása nem engedélyezett. Például nem rendelheti hozzá közvetlenül a CVErr visszatérési értékét olyan változó, amely nem Variant. A CVErr által visszaadott érték explicit konverzióját (CInt, CDbl stb. használatával) azonban hozzárendelheti a 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ényt használja egy Variant visszaadására, amelynek VarType értékevbError (10). A felhasználó által definiált függvény CalculateDouble hibát ad vissza, ha a neki átadott argumentum nem szám. A CVErr használatával felhasználó által definiált hibákat adhat vissza a felhasználó által megadott eljárásokból, vagy késleltetheti a futásidejű hibák kezelését. Az IsError függvénnyel tesztelje, hogy az érték hibát jelez-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