Page 177 -
P. 177
5 Exception Handling 167
Fig. 5.9 Example handler process in the rules editor
5.4.3.2 Exception Handling Primitives
When any of the above exception event notifications occur, an appropriate exlet for
that event, if defined, will be invoked. Each exlet may contain any number of steps,
or primitives, and is defined graphically using a Rules Editor (described in detail in
Chap. 11).
An example of an exlet definition in the Rules Editor can be seen in Fig. 5.9.
On the left of the graphical editor is the set of primitives that may be used to con-
struct an exlet. The available primitives (reading left-to-right, top-to-bottom) are the
following:
Remove Work Item: Removes (or cancels) the work item, execution ends, and the
work item is marked with a status of canceled. No further execution occurs on
the process path that contains the work item.
Remove Case: Removes the case. Case execution ends.
Remove All Cases: Removes all case instances for the specification in which the
task of which the work item is an instance is defined, or of which the case is an
instance.
Suspend Work Item: Suspends (or pauses) execution of a work item, until it is
continued, restarted, canceled, failed, or completed, or the case that contains the
work item is canceled or completed.
Suspend Case: Suspends all “live” workitems in the current case instance (a live
work item has a status of fired, enabled, or executing), effectively suspending
execution of the entire case.
Suspend All Cases: Suspends all “live” workitems in all of the currently executing
instances of the specification in which the task of which the work item is an
instance is defined, effectively suspending all running cases of the specification.
Continue Work Item: Unsuspends (or continues) execution of the previously
suspended work item.
Continue Case: Unsuspends execution of all previously suspended work items
for the case, effectively continuing case execution.