Err Object

Description

Contains information about run-time errors.

Remarks

The properties of the Err object are set by the generator of an error Visual Basic, an object, or the Visual Basic 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 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 any form of the Resume or On Error statement and after an Exit Sub, Exit Function, or Exit Property statement within an error-handling routine. 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 a class module. Using the Raise method in other code depends on the richness of the information you want to return. In code that uses Error statements instead of the Raise method to generate errors, the properties of the Err object are assigned the following default values when Error is executed

Property

Value

Number

Value specified as argument to Error statement. Can be any valid error number.

Source

Name of the current Visual Basic project.

Description

A string corresponding to the return of the Error function for the specified Number, if this string exists. If the string doesn't exist, Description contains "Application-defined or object-defined error".

HelpFile

The fully qualified drive, path, and file name of the Visual Basic Help file.

HelpContext

The Visual Basic Help file context ID for the error corresponding to the Number property.

LastDLLError

On 32-bit Microsoft Windows operating systems only, contains the system error code for the last call to a dynamic-link library (DLL). The LastDLLError property is read-only.


You don't have to change existing code that uses the Err object and the Error statement. However, using both the Err object and the Error statement can result in unintended consequences. For example, even if you fill in properties for the Err object, they are reset to the default values indicated in the preceding table as soon as the Error statement is executed. Although you can still use the Error statement to generate Visual Basic run-time errors, it is retained principally for compatibility with existing code. Use the Err object, the Raise method, and the Clear method for system errors and in new code, especially for class modules.

The Err object is an intrinsic object with global scope. There is no need to create an instance of it in your code.

Properties

Description property, HelpContext property, HelpContextID property, HelpFile property, LastDLLError property, Number property, Source property.

Methods

Clear method, Raise method.

See Also

Error function, Error object ("DAO Language Reference" in Volume 1), Error statement, On Error statement, Resume statement.

Example

This example uses the properties of the Err object 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) & Err.Description
    MsgBox Msg, , "Error", Err.Helpfile, Err.HelpContext
End If