Kullanıcı tarafından belirtilen bir hata numarası içeren Error alt türünün bir Varyantını döndürür.
Söz dizimi
CVErr(hatanumarası)
Gerekli hatanumarasıbağımsız değişkeni, geçerli herhangi bir hata numarasıdır.
Açıklamalar
Kullanıcı tarafından oluşturulan yordamlarda kullanıcı tanımlı hatalar oluşturmak için CVErr işlevini kullanın. Örneğin, birkaç bağımsız değişken kabul eden ve normalde bir dize döndüren bir işlev oluşturursanız, işlevinizin kabul edilebilir aralıkta olduklarından emin olmak için giriş bağımsız değişkenlerini değerlendirmesini sağlayabilirsiniz. Değillerse, işleviniz büyük olasılıkla beklediğiniz sonucu döndürmeyecektir. Bu durumda CVErr, yapmanız gereken işlemi bildiren bir hata numarası döndürmenize izin verir.
Hatanın örtük olarak dönüştürülmesine izin verilmediğini unutmayın. Örneğin, CVErr'ın dönüş değerini Variant olmayan bir değişkene doğrudan atayamazsınız. Ancak, CVErr tarafından döndürülen değerin açık bir dönüşümünü (CInt, CDbl vb. kullanarak) gerçekleştirebilir ve bunu uygun veri türündeki bir değişkene atayabilirsiniz.
Örnek
Not
Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.
Bu örnek, VarType'ıvbError (10) olan bir Variant döndürmek için CVErr işlevini kullanır. Kullanıcı tanımlı işlev CalculateDouble , kendisine iletilen bağımsız değişken bir sayı değilse bir hata döndürür. Kullanıcı tanımlı yordamlardan kullanıcı tanımlı hataları döndürmek veya bir çalışma zamanı hatasının işlenmesini ertelemek için CVErrr'ı kullanabilirsiniz. Değerin bir hatayı temsil edip etmediğini sınamak için IsError işlevini kullanın.
' 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