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.
   172   173   174   175   176   177   178   179   180   181   182