ErrObject.Raise(Int32, Object, Object, Object, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
런타임 오류를 생성합니다. 문 대신 Error 사용할 수 있습니다.
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을 생성하려면 속성에 할당 vbObjectError + 513 합니다 Number .
- Source
- Object
Optional.
String 오류를 생성한 개체 또는 애플리케이션의 이름을 지정하는 식입니다. 개체에 대해 이 속성을 설정할 때는 .class형식project을 사용합니다.
Source 지정하지 않으면 현재 Visual Basic 프로젝트의 프로세스 ID가 사용됩니다.
- Description
- Object
Optional.
String 오류를 설명하는 식입니다. 지정되지 않은 경우 속성의 Number 값이 검사됩니다. Visual Basic 런타임 오류 코드에 매핑할 수 있는 경우 Error 함수에서 반환되는 문자열은 Description 속성으로 사용됩니다.
Number 속성에 해당하는 Visual Basic 오류가 없으면 "애플리케이션 정의 또는 개체 정의 오류" 메시지가 사용됩니다.
- HelpFile
- Object
Optional. 이 오류에 대한 도움말을 찾을 수 있는 도움말 파일의 정규화된 경로입니다. 지정되지 않은 경우 Visual Basic Visual Basic 도움말 파일의 정규화된 드라이브, 경로 및 파일 이름을 사용합니다.
- HelpContext
- Object
Optional. 해당 내에서 HelpFile 항목을 식별하는 컨텍스트 ID는 오류에 대한 도움말을 제공합니다. 생략하면 Number 속성에 해당하는 오류에 대한 Visual Basic 도움말 파일 컨텍스트 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 문 Raise 으로 Error 오류를 생성할 때보다 더 풍부한 정보를 제공하므로 클래스 모듈을 작성할 때 오류를 생성하는 데 유용합니다. 예를 들어 메서드를 Raise 사용하면 오류를 생성한 원본을 속성에 Source 지정할 수 있고, 오류에 대한 온라인 도움말을 참조할 수 있습니다.