Catch STOP (-catchStop)
- Last Updated: March 30, 2020
- 1 minute read
- OpenEdge
- Version 12.2
- Documentation
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 | 1 | 1 |
- 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.
- 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. This is the default.
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. 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 about 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 ABL Reference and the description of STOP handling in ABL Error Handling.