다음을 통해 공유


ErrObject.Raise(Int32, Object, Object, Object, Object) 메서드

정의

런타임 오류를 생성하며 Error 문 대신 사용할 수 있습니다.

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)

매개 변수

Number
Int32

필수 요소. 오류의 속성을 식별하는 Long 형식의 정수입니다. Visual Basic 오류의 범위는 0~65535 사이이며, 0~512 사이의 범위는 시스템 오류로 예약되어 있고, 513~65535 사이의 범위는 사용자 정의 오류로 사용할 수 있습니다. Number 속성을 클래스 모듈의 사용자 고유 오류 코드로 설정하는 경우 vbObjectError 상수에 사용자의 오류 코드 번호를 추가합니다. 예를 들어 오류 번호 513을 생성하려면 속성에 Number 를 할당 vbObjectError + 513 합니다.

Source
Object

선택 사항입니다. 오류를 생성한 개체 또는 애플리케이션의 이름을 지정하는 String 식입니다. 개체에 대해 이 속성을 설정할 때 형식projectclass을 사용합니다. Source가 지정되어 있지 않으면 현재 Visual Basic 프로젝트의 프로세스 ID가 사용됩니다.

Description
Object

선택 사항입니다. 오류를 설명하는 String 식입니다. 이 인수가 지정되지 않으면 Number 속성의 값이 검사됩니다. Visual Basic 런타임 오류 코드에 매핑될 수 있는 경우 Error 함수로 반환되는 문자열이 Description 속성으로 사용됩니다. Number 속성과 일치하는 Visual Basic 오류가 없으면 "애플리케이션 정의 또는 개체 정의 오류입니다."라는 메시지가 사용됩니다.

HelpFile
Object

선택 사항입니다. 이 오류에 대한 도움말을 찾을 수 있는 도움말 파일의 정규화된 경로입니다. 이 인수가 지정되지 않으면 Visual Basic은 Visual Basic 도움말 파일의 정규화된 드라이브, 경로 및 파일 이름을 사용합니다.

HelpContext
Object

선택 사항입니다. 오류에 대한 도움말이 제공되는 HelpFile 내의 항목을 식별하는 컨텍스트 ID입니다. 이 인수가 생략된 경우 Number 속성에 해당하는 오류의 Visual Basic 도움말 파일 컨텍스트 ID가 있으면 해당 ID가 사용됩니다.

예제

이 예제에서는 합니다 Err 개체의 Raise Visual Basic로 작성 된 함수 내에서 오류를 생성 하는 방법입니다. 호출 하는 함수는 오류를 catch 하 고 메시지 상자를 사용 하 여 사용자에 게 보고할 수 있습니다.

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

설명

모든 합니다 Raise 제외한 인수 Number 는 선택 사항입니다. 속성 설정 및 선택적 인수를 생략 하면는 Err 지워지지 않은 값을 포함 하는 개체, 해당 값이 오류에 대 한 값으로 사용 합니다.

때문에 Err 개체는 사용 하 여 오류를 생성 하는 경우 보다 더 많은 정보를 제공 합니다 Error 문을 Raise 클래스 모듈을 작성 하는 경우 오류를 생성 하는 데 유용 합니다. 예를 들어 합니다 Raise 메서드를 오류를 발생 시킨 소스에서 지정할 수 있습니다는 Source 속성을 오류에 대 한 온라인 도움말을 참조할 수 있습니다 및 등입니다.

적용 대상

추가 정보