Designer > Fault Handling > What is BPEL Fault Handling
  

What is BPEL Fault Handling

Fault handling in a BPEL process refers to the procedures performed when an exception or unanticipated condition occurs during normal processing. The work performed restores state so that predictable results always occur. Fault handling differs from compensation handling in that fault handling happens when a fault occurs within a scope whereas compensation reverses the work of a successfully completed scope. This means that the fault handler has access to information contained within the scope.
A fault can occur for the following reasons:
Fault handling can be global or local: you can add fault handlers to the process as a whole or to a scope within the process.
When a fault occurs, normal processing is terminated, and control is transferred to the corresponding fault handler, as defined in the <faultHandlers> section of the process or scope.
Note that the process does not enable compensation for a scope in which a fault handler is invoked.
Fault handlers do not rely on state to determine which nested scopes have completed successfully.
For a discussion of fault handling and compensation handling for a scope, see Lifecycle of a Scope.