This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Download Microsoft Edge
More info about Internet Explorer and Microsoft Edge
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.
The default property of the
Err
object is
Number
. Because the default property can be represented by the object name
Err
, earlier code written by using the
Err
function or
Err
statement doesn't have to be modified.
When a run-time error occurs, the properties of the
Err
object are filled with information that uniquely identifies the error and information that can be used to handle it. To generate a run-time error in your code, use the
Raise
method.
The
Err
object's properties are reset to zero or zero-length strings ("") after an
Exit Sub
,
Exit Function
,
Exit Property
, or
Resume Next
statement within an error-handling routine. Using any form of the
Resume
statement outside of an error-handling routine will not reset the
Err
object's properties. The
Clear
method can be used to explicitly reset
Err
.
Use the
Raise
method, rather than the
Error
statement, to generate run-time errors for system errors and class modules. Using 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 with global
scope
. There is no need to create an instance of it in your code.
Example
This example uses the properties of the
Err
object (
Number
,
Description
,
HelpContext
,
HelpFile
,
Source
) in constructing an error-message dialog box.
Note that if you use the
Clear
method first, when you generate a Visual Basic error with the
Raise
method, Visual Basic's default values become the properties of the
Err
object.
Dim Msg
' If an error occurs, construct an error message
On Error Resume Next ' Defer error handling.
Err.Clear
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 & Chr(13) & Chr(13) & Err.Description
MsgBox Msg, vbMsgBoxHelpButton, "Error", Err.Helpfile, Err.HelpContext
End If
See also
Statements (Visual Basic for Applications)
Handle run-time errors in VBA
Trappable errors
Objects (Visual Basic for Applications)
Object library reference for Office (members, properties, methods)
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.