Bagikan melalui


ErrObject.Number Properti

Definisi

Mengembalikan atau mengatur nilai numerik yang menentukan kesalahan. Baca/tulis.

public:
 property int Number { int get(); void set(int value); };
public int Number { get; set; }
member this.Number : int with get, set
Public Property Number As Integer

Nilai Properti

Mengembalikan atau mengatur nilai numerik yang menentukan kesalahan. Baca/tulis.

Pengecualian

Number lebih besar dari 65535.

Contoh

Contoh ini mengilustrasikan penggunaan Number khas properti dalam rutinitas penanganan kesalahan.

    ' Typical use of Number property.
Sub test()
  On Error GoTo out

  Dim x, y As Integer
  x = 1 / y   ' Create division by zero error.
  Exit Sub
out:
  MsgBox(Err.Number)
  MsgBox(Err.Description)
  ' Check for division by zero error.
  If Err.Number = 11 Then
      y = y + 1
  End If
  Resume Next
End Sub

Contoh ini menggunakan Err metode objek Raise untuk menghasilkan kesalahan asli dalam fungsi yang ditulis dalam Visual Basic. Fungsi panggilan dapat menangkap kesalahan dan melaporkannya kepada pengguna. Perhatikan bahwa prosedur CallingProcedure membedakan jenis informasi yang dapat Anda dapatkan dari Err objek dengan informasi yang dapat Anda dapatkan dari Exception objek.

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

Keterangan

Raise Semua argumen kecuali Number bersifat opsional. Jika Anda menghilangkan argumen opsional, dan pengaturan Err properti objek berisi nilai yang belum dibersihkan, nilai tersebut berfungsi sebagai nilai untuk kesalahan Anda.

Err Karena objek memberikan informasi yang lebih kaya daripada ketika Anda menghasilkan kesalahan dengan Error pernyataan , Raise berguna untuk menghasilkan kesalahan saat menulis modul kelas. Misalnya, dengan Raise metode , sumber yang menghasilkan kesalahan dapat ditentukan dalam Source properti , Bantuan online untuk kesalahan dapat dirujuk, dan sebagainya.

Saat mengembalikan kesalahan yang ditentukan pengguna dari objek, atur Err.Number dengan menambahkan nomor yang Anda pilih sebagai kode kesalahan ke VbObjectError konstanta. Misalnya, Anda menggunakan kode berikut untuk mengembalikan angka 1051 sebagai kode kesalahan:

Err.Raise(Number:=vbObjectError + 1051, Source:="SomeClass")

Berlaku untuk

Lihat juga