Err Object (Visual Basic)

Contains information about run-time errors.


The properties of the Err object are set by the generator of an error—Visual Basic, an object, or the programmer.

When a run-time error occurs, the properties of the Err object are filled with information that uniquely identifies the error and that you can use to handle the error or to learn more about it. To generate a run-time error in your code, use the Raise method.

The properties of the Err object are reset to zero or zero-length strings ("") after an Exit Sub, Exit Function, Exit Property, or Resume Next statement in an error-handling routine. Using any form of the Resume statement outside of an error-handling routine will not reset the properties of the Err object. You can use the Clear method to explicitly reset Err.

Use the Raise method instead of the Error statement to generate run-time errors for system errors and class modules. Your decision about whether to use the Raise method in other code depends on the richness of the information that you want to return.

The Err object is an intrinsic object that has global scope. Therefore, you do not have to create an instance of it in your code.


You can also use the ErrorToString Function to find the error message that corresponds to a particular error number.


This example uses the properties of the Err object in constructing an error-message dialog box. Notice that if you use the Clear method first, when you generate a Visual Basic error by using the Raise method, Visual Basic's default values become the properties of the Err object. The Description property returns a string that describes the error.

Dim Msg As String 
' If an error occurs, construct an error message. 
On Error Resume Next   ' Defer error handling.
Err.Raise(6)   ' Generate an "Overflow" error.
' Check for error, then show message. 
If Err.Number <> 0 Then
  Msg = "Error # " & Str(Err.Number) & " was generated by " _
      & Err.Source & ControlChars.CrLf & Err.Description
  MsgBox(Msg, MsgBoxStyle.Information, "Error")
End If



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

See Also


How to: Get Information about Visual Basic Run-Time Errors

How to: Retrieve Information from an Error Object


Err Object Members

Error Statement

On Error Statement (Visual Basic)

Exit Statement (Visual Basic)

Resume Statement

ErrorToString Function