내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

ErrObject.Number 속성

오류를 지정하는 숫자 값을 반환하거나 설정합니다. 읽기/쓰기입니다.

네임스페이스:  Microsoft.VisualBasic
어셈블리:  Microsoft.VisualBasic(Microsoft.VisualBasic.dll)

public int Number { get; set; }

속성 값

형식: System.Int32
오류를 지정하는 숫자 값을 반환하거나 설정합니다. 읽기/쓰기입니다.

예외조건
ArgumentException

Number가 65535보다 큽니다.

Number를 제외한 모든 Raise 인수는 선택적 요소입니다. 선택적 인수를 생략한 상태에서 Err 개체의 속성 설정에 지워지지 않은 값이 포함되어 있으면 이 값은 해당 오류에 대한 값으로 사용됩니다.

Err 개체를 사용하면 Error 문으로 오류를 생성할 때보다 더 많은 정보를 얻을 수 있으므로 클래스 모듈을 쓰는 경우 Raise를 사용하여 오류를 생성하는 것이 좋습니다. 예를 들어, Raise 메서드를 사용하면 오류를 생성한 소스를 Source 속성에 지정하고, 해당 오류에 대한 온라인 도움말을 참조할 수 있습니다.

개체에서 사용자 정의 오류를 반환하는 경우 오류 코드로 선택한 숫자를 VbObjectError 상수에 더하여 Err.Number를 설정합니다. 예를 들어, 다음 코드를 사용하여 오류 코드로 1051을 반환합니다.


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


이 예제에서는 오류 처리 루틴에서 Number 속성을 일반적으로 사용하는 방법을 설명합니다.


    ' 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


이 예제에서는 Err 개체의 Raise 메서드를 사용하여 Visual Basic으로 작성한 함수 내에 근본적 오류를 생성합니다. 호출하는 함수는 오류를 catch한 다음 사용자에게 보고합니다. CallingProcedure 프로시저는 Err 개체에서 파생될 수 있는 정보와 Exception 개체에서 파생될 수 있는 정보를 대조합니다.


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


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft