1 | type_of_move | Input | INT4 |
2 | fc | Output | FEEDBACK |
The Move the Resume Cursor to a Return Point (CEEMRCR) API moves the resume cursor to a return point relative to the current handle cursor.
Initially, the resume cursor is positioned after the machine instruction that caused the condition to be raised. The direction of movement is always toward older call stack entries.
None.
0 | Move the resume cursor from a later call stack
entry to the call stack entry that is currently associated with the handle
cursor.
Chose this option if resumption in the call stack entry at which the resume cursor is pointing is not possible, but may be possible in the call stack entry at which the handle cursor is pointing. |
1 | Move the resume cursor to the call
return point (immediately following the call statement) for the
call stack entry one prior to the position of the handle cursor. Also move the
handle cursor to the first handler of the call stack entry the resume cursor is
being moved to. This action exits the current call stack entry and skips all
condition handlers still to be called for the call stack entry.
Chose this option if resumption is impossible at the current location, but may be possible in the caller of the current procedure. |
CEE0000 | The API completed successfully |
Severity: 00 | |
CEE0254 | The type of move for &1 is not valid |
Severity: 10 | |
CEE0260 | No active condition for call to &1 |
Severity: 30 | |
CEE9902 | Unexpected user error occurred in &1 |
Severity: 30 |
If you attempt to move the resume cursor with a type_of_move of 0 and the resume cursor and the handle cursor are at the same call stack entry, the move is not valid.
The actual movement of the resume cursor occurs only after the condition handler returns to the condition manager. If two or more calls from a given user-written condition handler set the resume cursor to different places, the most recent call will be used.
When a return operation is made to the condition manager after the resume cursor is moved, any associated exit procedures are called for each call stack entry that is passed. Moving a resume cursor past a call stack entry also cancels any associated user-written condition handlers.
Ensure that the CEEMRCR API is called before handling the condition. A call to the CEEMRCR API is not valid if there is no active condition. For example, the condition may not be active if the condition handler uses the message handler API, Change Exception Message (QMHCHGEM), to handle the condition.
When doing a type 1 move, the exception message is immediately moved to the call message queue of the call stack entry one older than that indicated by the handle cursor. Therefore, when using APIs to perform some action on the exception (for example, QMHCHGEM), you must indicate a target invocation of one older than the original handle cursor.
Top | ILE CEE APIs | APIs by category |