ErrObject.Raise(Int32, Object, Object, Object, Object) Yöntem

Tanım

Çalışma zamanı hatası oluşturur; deyimi yerine Error kullanılabilir.

public void Raise(int Number, object? Source = default, object? Description = default, object? HelpFile = default, object? HelpContext = default);
public void Raise(int Number, object Source = default, object Description = default, object HelpFile = default, object HelpContext = default);
member this.Raise : int * obj * obj * obj * obj -> unit
Public Sub Raise (Number As Integer, Optional Source As Object = Nothing, Optional Description As Object = Nothing, Optional HelpFile As Object = Nothing, Optional HelpContext As Object = Nothing)

Parametreler

Number
Int32

Gerekli. Long hatanın doğasını tanımlayan tamsayı. Visual Basic hatalar 0-65535 aralığındadır; 0-512 aralığı sistem hataları için ayrılmıştır; kullanıcı tanımlı hatalar için 513-65535 aralığı kullanılabilir. Bir sınıf modülünde Number özelliği kendi hata kodunuza ayarlarken hata kodu numaranızı sabite vbObjectError eklersiniz. Örneğin, 513 hata numarasını oluşturmak için özelliğine atayın vbObjectError + 513Number .

Source
Object

Optional. String hatasını oluşturan nesneyi veya uygulamayı adlandıran ifade. Bir nesne için bu özelliği ayarlarken,.project. formunu classkullanın. Source belirtilmezse, geçerli Visual Basic projesinin işlem kimliği kullanılır.

Description
Object

Optional. String hatasını açıklayan ifade. Belirtilmezse, özelliğindeki Number değer incelenmiş olur. Visual Basic çalışma zamanı hata koduna eşlenebiliyorsa, Error işlevi tarafından döndürülecek dize Description özelliği olarak kullanılır. Number özelliğine karşılık gelen Visual Basic hatası yoksa, "Uygulama tanımlı veya nesne tanımlı hata" iletisi kullanılır.

HelpFile
Object

Optional. Bu hatayla ilgili yardımın bulunabildiği Yardım dosyasının tam yolu. Belirtilmemişse, Visual Basic Visual Basic Yardım dosyasının tam sürücüsünü, yolunu ve dosya adını kullanır.

HelpContext
Object

Optional. İçinde hata için yardım sağlayan bir konuyu HelpFile tanımlayan bağlam kimliği. Atlanırsa, varsa Number özelliğine karşılık gelen hatanın Visual Basic Yardım dosyası bağlam kimliği kullanılır.

Örnekler

Bu örnekte Err nesnesinin Raise yöntemi kullanılarak Visual Basic'de yazılmış bir işlevde hata oluşturulacak. Çağıran işlev hatayı yakalayabilir ve bir ileti kutusuyla kullanıcıya bildirebilir.

Module Module1

    Const WidthErrorNumber As Integer = 1000
    Const WidthHelpOffset As Object = 100

    Sub Main()
        CallingProcedure()
    End Sub

    Sub TestWidth(ByVal width As Integer)
        If width > 1000 Then
            ' Replace HelpFile.hlp with the full path to an appropriate
            ' help file for the error. Notice that you add the error 
            ' number you want to use to the vbObjectError constant. 
            ' This assures that it will not conflict with a Visual
            ' Basic error.
            Err.Raise(vbObjectError + WidthErrorNumber, "ConsoleApplication1.Module1.TestWidth", 
                "Width must be less than 1000.", "HelpFile.hlp", WidthHelpOffset)
        End If
    End Sub

    Sub CallingProcedure()
        Try
            ' The error is raised in TestWidth.
            TestWidth(2000)
        Catch ex As Exception
            ' The Err object can access a number of pieces of
            ' information about the error.
            Console.WriteLine("Information available from Err object:")
            Console.WriteLine(Err.Number)
            Console.WriteLine(Err.Description)
            Console.WriteLine(Err.Source)
            Console.WriteLine(Err.HelpFile)
            Console.WriteLine(Err.HelpContext)
            Console.WriteLine(Err.GetException)

            Console.WriteLine(vbCrLf & "Information available from Exception object:")
            Console.WriteLine(ex.Message)
            Console.WriteLine(ex.ToString)

            Err.Clear()
        End Try
    End Sub
End Module

' The example produces the following output:
' Information available from Err object:
' -2147220504
' Width must be less than 1000.
' ConsoleApplication1.Module1.TestWidth
' HelpFile.hlp
' 100
' System.Exception: Width must be less than 1000.
'    at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
'    at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
'    at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25
'
' Information available from Exception object:
' Width must be less than 1000.
' System.Exception: Width must be less than 1000.
'    at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number, Object Source, Object
' Description, Object HelpFile, Object HelpContext)
'    at ConsoleApplication1.Module1.TestWidth(Int32 width) in C:\Users\example\App
' Data\Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 17
'    at ConsoleApplication1.Module1.CallingProcedure() in C:\Users\example\AppData
' \Local\Temporary Projects\ConsoleApplication1\Module1.vb:line 25

Açıklamalar

Raise Dışındaki Number tüm bağımsız değişkenler isteğe bağlıdır. İsteğe bağlı bağımsız değişkenleri atlarsanız ve nesnenin Err özellik ayarları temizlenmemiş değerler içeriyorsa, bu değerler hatanızın değerleri olarak görev alır.

Err nesnesi deyimiyle hata oluşturduğunuzdan daha zengin bilgiler verdiğindenError, Raise sınıf modülleri yazarken hata oluşturmak için kullanışlıdır. Örneğin yöntemiyle Raise , hatayı oluşturan kaynak özelliğinde Source belirtilebilir, hata için çevrimiçi Yardım'a başvurulabilir vb.

Şunlara uygulanır

Ayrıca bkz.