Zwraca wartość wariantu błędu podtypu zawierającego numer błędu określoną przez użytkownika.
Składnia
CVErr (liczba_błędów)
Wymagany numer błęduargument prawidłowym numerem błędu.
Spostrzeżenia
Funkcja CVErr umożliwia tworzenie błędów zdefiniowanych przez użytkownika w procedurach utworzonych przez użytkownika. Jeśli na przykład utworzysz funkcję akceptującą kilka argumentów i normalnie zwracaną wartość ciągu, funkcja może oszacować argumenty wejściowe, aby upewnić się, że znajdują się one w dopuszczalnym zakresie. Jeśli tak nie jest, prawdopodobnie funkcja nie zwróci tego, czego oczekujesz. W tym przypadku funkcja CVErr pozwala zwrócić numer błędu informacyjny o czynnościach do podjęcia.
Należy zauważyć, że niejawne konwersje błędu nie są dozwolone. Na przykład nie można bezpośrednio przypisać wartości zwracanej przez wartość CVErr do zmienna która nie jest wariantem. Można jednak wykonać jawną konwersję (za pomocą CInt,CDblitp.) wartości zwróconej przez CVErr i przypisać ją do zmiennej o odpowiedniej typ danych.
Przykład
Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.
W tym przykładzie funkcja CVErr jest używana do zwracania wariantu o typie VarType:vbError (10). Funkcja zdefiniowana przez użytkownika CalculateDouble błąd, jeśli argument przekazany do funkcji nie jest liczbą. Funkcji CVErr można użyć do zwracania błędów zdefiniowanych przez użytkownika w procedurach zdefiniowanych przez użytkownika lub do odroczania obsługi błędu w czasie uruchamiania. Użyj funkcji IsError w celu przetestowania, czy wartość reprezentuje błąd.
' 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