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, назначьте vbObjectError + 513 свойству Number .

Source
Object

Optional. String выражение именование объекта или приложения, создающего ошибку. При задании этого свойства для объекта используйте форму project.class. Если Source не указан, используется идентификатор процесса текущего проекта Visual Basic.

Description
Object

Optional. String выражение, описывающее ошибку. Если не указано, проверяется значение в свойстве Number . Если его можно сопоставить с кодом ошибки во время выполнения Visual Basic, строка, возвращаемая функцией Error, используется в качестве свойства Description. Если нет ошибки Visual Basic, соответствующей свойству Number, используется сообщение "Определяемая приложением или объектная ошибка".

HelpFile
Object

Optional. Полный путь к файлу справки, в котором содержатся сведения об ошибке. Если аргумент не указан, используется полный путь и имя файла справки Visual Basic.

HelpContext
Object

Optional. Идентификатор контекста, определяющий раздел, HelpFile который предоставляет справку по ошибке. Если опущено, используется идентификатор контекста файла справки Visual Basic для ошибки, соответствующей свойству Number, если он существует.

Примеры

В этом примере используется метод Err /> объекта Raise для создания ошибки в функции, написанной в Visual Basic. Вызывающая функция может перехватывать ошибку и сообщать пользователю с помощью поля сообщения.

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 , можно ссылаться на веб-справку по ошибке и т. д.

Применяется к

См. также раздел