Typical Exception Handling Flow

The following list demonstrates how exception handling occurs within a typical process:
  1. The Process Execution Engine begins executing the process instance.
  2. An exception occurs within an Activity at the code level.
  3. If exception handling code is available, then that code is executed.

    The Activity completes successfully, transactions are committed, and the Process Execution Engine continues with the next Activity in the instance.

  4. If no exception handling code is available, then the Process Execution Engine cannot continue. The exception is propagated to the Process level
  5. At the process level, the following options are possible:
    • If no exception flow has been defined, the instance continues directly to the End Activity and the STATUS predefined variable is set to ABORTED state.
      Note: When designing your business process, you should always create at least one default exception handling flow.
    • If an exception flow has been defined, the process instance continues through the exception handling flow. If you have defined different exception transitions, the flow is routed through the appropriate transition.
  6. Process flow continues through each Activity in the Exception flow.
  7. In the Final Activity of the Exception Flow, the Process Execution Engine evaluates the ACTION predefined variable to determine where to continue the flow of the instance.
  8. Based on the value of the ACTION predefined variable, instance flow is returned to the main process flow.