This documentation is archived and is not being maintained.

Raise Method

Generates a run-time error; can be used instead of the Error statement.

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 _


Required. Long integer that identifies the nature of the error. Visual Basic errors are in the range 0–65535: the range 0–512 is reserved for system errors; the range 513–65535 is available for user-defined errors. When setting the Number property to your own error code in a class module, you add your error code number to the vbObjectError constant. For example, to generate the error number 513, assign vbObjectError + 513 to the Number property.
Optional. String expression naming the object or application that generated the error. When setting this property for an object, use the form project.class. If Source is not specified, the process ID of the current Visual Basic project is used.
Optional. String expression describing the error. If unspecified, the value in the Number property is examined. If it can be mapped to a Visual Basic run-time error code, the string that would be returned by the Error function is used as the Description property. If there is no Visual Basic error corresponding to the Number property, the "Application-defined or object-defined error" message is used.
Optional. The fully qualified path to the Help file in which help on this error can be found. If unspecified, Visual Basic uses the fully qualified drive, path, and file name of the Visual Basic Help file.
Optional. The context ID identifying a topic within HelpFile that provides help for the error. If omitted, the Visual Basic Help file context ID for the error corresponding to the Number property is used, if it exists.


Exception type Error number Condition
ArgumentException 5 Number is greater than 65535.


All of the Raise arguments except Number are optional. If you omit optional arguments, and the property settings of the Err object contain values that have not been cleared, those values serve as the values for your error.

Raise is useful for generating errors when writing class modules, because the Err object gives richer information than when you generate errors with the Error statement. For example, with the Raise method, the source that generated the error can be specified in the Source property, online Help for the error can be referenced, and so on.


This example uses the Err object's Raise method to generate an error within a function written in Visual Basic. The calling function can catch the error and report it to the user with a message box.

Const WidthError = 1
Const WidthHelp = 101

Function 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 Function

' Add to calling function.
Catch ex As Exception
End Try


Namespace: Microsoft.VisualBasic

Class: Err Object

Assembly: Microsoft Visual Basic .NET Runtime (in Microsoft.VisualBasic.dll)

See Also

Clear Method | Description Property | Err Object | Error Statement | HelpContext Property | HelpFile Property | LastDLLError Property | Number Property | On Error Statement | Source Property | ArgumentException Class

Applies To

Err Object