When the AVM executes the STOP statement, it creates an instance of the Progress.Lang.Stop class. 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 indicates they want to stop waiting
  • 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.

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

CallStack property

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

  • To enable older behavior and prevent the AVM from throwing Progress.Lang.Stop objects, specify the Catch STOP (-catchStop) startup parameter with the value 0 (-catchStop 0).
  • 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.
  • The CallStack property is always populated for a STOP condition, so there is no need to set the ERROR-STACK-TRACE attribute of the SESSION handle.
  • 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