다음을 통해 공유


Raise 메서드(Err 개체)

업데이트: 2007년 11월

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

Public Sub Raise( _
   ByVal Number As Integer, _
   Optional ByVal Source As Object = Nothing, _
   Optional ByVal Description As Object = Nothing, _
   Optional ByVal HelpFile As Object = Nothing, _
   Optional ByVal HelpContext As Object = Nothing _
)

매개 변수

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

  • Source
    선택적 요소. 오류를 생성한 개체 또는 응용 프로그램의 이름을 지정하는 String 식입니다. 개체에 이 속성을 설정할 경우 project.class 형식을 사용합니다. Source를 지정하지 않으면 현재 Visual Basic 프로젝트의 프로세스 ID가 사용됩니다.

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

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

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

예외

예외 형식

오류 번호

조건

ArgumentException

5

Number가 65535보다 큽니다.

비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.

설명

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

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

예제

다음 예제에서는 Err 개체의 Raise 메서드를 사용하여 Visual Basic으로 작성한 함수 내에 오류를 생성합니다. 호출하는 함수는 오류를 catch한 다음 메시지 상자를 사용하여 사용자에게 보고합니다.

Const WidthError As Integer = 1
Const WidthHelp As Object = 101

Sub TestWidth(ByVal width As Integer)
  If width > 1000 Then
      Err.Raise(vbObjectError + 512 + WidthError, "TestWidth", _
      "Width must be less than 1000.", "HelpFile.hlp", WidthHelp)
  End If
End Sub

Sub CallingProcedure()
  Try
    TestWidth(2000)
  Catch ex As Exception
    MsgBox(ex.Message)
  End Try
End Sub

요구 사항

네임스페이스:Microsoft.VisualBasic

**모듈:**ErrObject

어셈블리:

참고 항목

참조

Err 개체(Visual Basic)

Clear 메서드(Err 개체)

Description 속성(Err 개체)

Error 문

HelpContext 속성(Err 개체)

HelpFile 속성(Err 개체)

LastDllError 속성(Err 개체)

Number 속성(Err 개체)

On Error 문(Visual Basic)

Source 속성(Err 개체)

ArgumentException