Vrátí hodnotu typu Variant (Typ dat Variant: Výchozí typ dat pro proměnné, které neobsahují znaky deklarace typu, není-li aktivní příkaz Deftyp. V proměnné typu Variant mohou být uložena čísla, řetězce, datum a čas nebo hodnoty Null či Empty.) podtypu Error obsahující číslo chyby (Číslo chyby: Celé číslo v intervalu 0–65 535, kterému odpovídá nastavení vlastnosti Number objektu Err. V kombinaci s nastavením vlastnosti Description objektu Err toto číslo reprezentuje konkrétní chybovou zprávu.) zadané uživatelem.
Syntaxe
CVErr(číslo_chyby)
Povinným argumentem (Argument: Hodnota, která poskytuje informace určité akci, události, metodě, vlastnosti, funkci nebo proceduře.)
číslo_chyby
je jakékoli platné číslo chyby.
Poznámky
Pomocí funkce CVErr lze v procedurách (Procedura: Posloupnost deklarací a příkazů v modulu, které jsou provedeny jako celek. Mezi procedury jazyka Visual Basic patří procedury Sub a Function.) vytvořených uživatelem vytvořit chyby definované uživatelem. Pokud například vytvoříte funkci s několika argumenty, která obvykle vrací řetězec, můžete zajistit, aby vytvořená funkce vyhodnotila, zda jsou zadané argumenty v přípustném rozsahu. Jestliže nejsou, je pravděpodobné, že funkce nevrátí očekávanou hodnotu. V tomto případě umožní funkce CVErr vrátit číslo chyby oznamující, jakou akci je třeba provést.
Implicitní převod dat podtypu Error není povolen. Nemůžete například přímo přiřadit hodnotu vrácenou funkcí CVErr proměnné (Proměnná: Pojmenované umístění pro ukládání, které může obsahovat data, jež lze během doby spuštění programu změnit. Každá proměnná má název, jež ji v dané úrovni oboru jednoznačně identifikuje. Typ dat může, ale nemusí být zadán.),
která není typu Variant. Můžete však provést explicitní převod (pomocí funkcí CInt, CDbl a dalších) hodnoty vrácené funkcí CVErr a výsledek přiřadit proměnné příslušného typu dat (Typ dat: Vlastnost pole, jež určuje, jaký typ dat může pole obsahovat. Mezi typy dat patří např. Boolean, Integer, Long, Currency, Single, Double, Date, String a Variant (výchozí).).
Příklad
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
V tomto příkladu je pomocí funkce CVErr vrácena hodnota typu Variant, jejímž typem VarType je vbError (10). Funkce CalculateDouble definovaná uživatelem vrátí chybu v případě, že jejím argumentem není číslo. Pomocí funkce CVErr lze z procedur definovaných uživatelem vrátit chyby definované uživatelem nebo pozdržet zpracování chyby při běhu programu. Chcete-li zjistit, zda hodnota představuje chybu, použijte funkci IsError.
' 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