Try OpenEdge Now
skip to main content
ABL Reference
Class, Interface, and Enumeration Reference : Progress.Lang.Stop class
 

Progress.Lang.Stop class

(Technical Preview only in OpenEdge Release 11.7)
When enabled, and the STOP statement executes, the AVM throws an instance of this Progress.Lang.Stop class and raises the STOP condition. Progress.Lang.Stop is also the immediate super class for the following built-in objects that the AVM throws in response to the associated STOP conditions:
*Progress.Lang.LockConflict — Thrown when a time-out occurs while waiting for a record lock or when the user cancels the dialog box displayed during this waiting period
*Progress.Lang.StopAfter — Thrown when a time-out occurs in response to the STOP-AFTER setting on a DO, FOR, or REPEAT block
*Progress.Lang.UserInterrupt — Thrown when the user interrupts the AVM by pressing the OS interrupt key
You can therefore catch instances of Progress.Lang.Stop and any of its subclasses in a CATCH block to trap each associated STOP condition. The public properties of this class and its subclasses provide information on the context where this STOP condition was raised.
You cannot inherit from this class.

Serializable:

Yes

Constructors

The class constructors are reserved for system use only.

Super Class

Progress.Lang.Object class

Interfaces

This class does not implement interfaces (beyond those it inherits from its base class).

Public Properties

Public Methods

This class does not contain methods (beyond those it inherits from its base class).

Public Events

This class does not contain events.

Notes

*In order to enable the AVM to throw Progress.Lang.Stop objects, you must specify the Catch STOP (-catchStop) startup parameter with the value 1 (-catchStop 1). Otherwise, the AVM raises the STOP condition only, without throwing the associated object.
*By catching a Stop object with a CATCH block and testing the object's ultimate derived class type, you can identify what caused the AVM to raise the STOP condition and throw the object in the first place.
Note: You can instead trap the STOP condition using the ON STOP phrase on an associated block, but this does not tell you anything about what caused the AVM to raise the STOP condition itself.
*Like any other class-based object that is no longer referenced, the AVM automatically deletes Stop objects using garbage collection.

See also

CATCH statement, ON STOP phrase, Progress.Lang.LockConflict class, Progress.Lang.StopAfter class, Progress.Lang.StopError class, Progress.Lang.UserInterrupt class, STOP statement