The Progress.Lang.Error interface describes a common set of properties and methods that built-in ABL error classes implement. This interface cannot be implemented by a user-defined class. Instead, create a subclass of the Progress.Lang.AppError class to create your own type of ABL error object.

This interface is also implemented by an OpenEdge-enhanced version of the .NET System.Exception class (OpenEdge-enhanced). Because of this architecture, ABL recognizes .NET exceptions as error objects and ABL error handling features can recognize, handle, and rethrow .NET exceptions. The interface requires a class to implement the following properties:

Public Properties

CallStack property NumMessages property Severity property

The interface requires a class to implement the following methods:

Public Methods

GetMessage( ) method (Class) GetMessageNum( ) method

Notes

  • The Progress.Lang.Error interface is the error type that represents all possible errors in ABL, including .NET exceptions and STOP conditions with error messages. Specifying this interface in a CATCH statement creates an error handler that catches any error. For example:
    DO ON ERROR UNDO, THROW:
      . . .
      CATCH anyErrorObject AS Progress.Lang.Error:
        . . .
      END CATCH.
    END.

See also

CATCH statement, Progress.Lang.AppError class, Progress.Lang.ProError class, Progress.Lang.StopError class, Progress.Lang.SysError class