Use Catch STOP (-catchStop) to specify whether the AVM activates stop object behavior when a STOP condition is raised.
Note: Stop object support is available as a Technology Preview only in OpenEdge Release 11.7.
Operating system and syntax
UNIX / Windows
-catchStopn
Use with
Maximum value
Minimum value
Single-user default
Multi-user default
Client Session
—
—
—
—
n
Indicates the AVM behavior when a STOP condition is raised:
0 — The AVM does not throw stop objects or execute relevant CATCH blocks when a STOP condition is raised. The AVM raises and responds to STOP conditions as in prior releases without stop objects. This is the default mode.
1 — The AVM throws an appropriate stop object when a STOP condition is raised and executes any appropriate CATCH block in response to catching that stop object. The AVM therefore raises and responds to STOP conditions depending on the presence of ON STOP phrases and compatible CATCH blocks in the call stack.
To enable the handling of stop objects in the AVM, you must recompile any existing source code that contains a CATCH block for Progress.Lang.Error, Progress.Lang.SysError, or Progress.Lang.ProError, and of course, you must compile any new code with a CATCH block for a stop object. You can compile this code regardless of the value you specify for this startup parameter, and whether or not you specify this startup parameter at all.
Once the relevant code is compiled, if you specify -catchStop 0 for this startup parameter, any defined variables and CATCH blocks that work with stop object references are ignored by the AVM at run time.
For more information on STOP conditions and stop objects and how the AVM generates and responds to them, see the descriptions of the ON STOP phrase and the CATCH statement in the OpenEdge Development: ABL Reference and the description of STOP handling in OpenEdge Development: Error Handling.