Try OpenEdge Now
skip to main content
New Information
Startup Parameters : Catch STOP (-catchStop)
 

Catch STOP (-catchStop)

Use Catch STOP (-catchStop) to specify whether the AVM behaves in a new way when a STOP condition is raised. The new behavior involves being able to catch stop objects and run FINALLY blocks.
Operating system and syntax
UNIX / Windows
-catchStop n
Use with
Maximum value
Minimum value
Single-user default
Multi-user default
Client Session
1
0
0
0
n
Indicates the AVM behavior when a STOP condition is raised:
*0 — The AVM does not throw stop objects, execute relevant CATCH blocks, or execute FINALLY blocks, when a STOP condition is raised. The AVM raises and responds to STOP conditions as in prior releases. This is the default mode for version 11.7 and any of its service packs.
*1 — The AVM throws an appropriate stop object when a STOP condition is raised, executes any appropriate CATCH blocks in response, and executes FINALLY blocks.
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 you must compile any new code with a CATCH block for a stop object. Code that references stop objects will compile successfully regardless of the value of -catchStop.
Once the relevant code is compiled, if you specify -catchStop 0, any 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.