Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.webflow.engine
Interface FlowExecutionExceptionHandler

All Known Implementing Classes:
  TransitionExecutingFlowExecutionExceptionHandler

    public interface FlowExecutionExceptionHandler

A strategy for handling an exception that occurs at runtime during an active flow execution. Note: special care should be taken when implementing custom flow execution exception handlers. Exception handlers are like Transitions in that they direct flow control when exceptions occur. They are more complex than Actions, which can only execute behaviors and return results that drive flow control. For this reason, if implemented incorrectly, a FlowExecutionHandler can leave a flow execution in an invalid state, which can render the flow execution unusable or its future use undefined. For example, if an exception thrown at flow session startup gets routed to an exception handler, the handler must take responsibility for ensuring the flow execution returns control to the caller in a consistent state. Concretely, this means the exception handler must transition the flow to its start state. The handler should not simply return leaving the flow with no current state set. Note: Because flow execution handlers are more difficult to implement correctly, consider catching exceptions in your web flow action code and returning result events that drive standard transitions. Alternatively, consider use of the existing `TransitionExecutingFlowExecutionExceptionHandler` which illustrates the proper way to implement an exception handler.

Author:
  Keith Donald

Method Summary
`boolean` | `canHandle(FlowExecutionException exception)` Can this handler handle the given exception?
`void` | `handle(FlowExecutionException exception, RequestControlContext context)` Handle the exception in the context of the current request.

Method Detail

### canHandle

    boolean canHandle(FlowExecutionException exception)

  Can this handler handle the given exception?

  Parameters:
    `exception` - the exception that occurred
  Returns:
    true if yes, false if no

### handle

    void handle(FlowExecutionException exception,
                RequestControlContext context)

  Handle the exception in the context of the current request. An implementation is expected to transition the flow to a state using `RequestControlContext.execute(Transition)`.

  Parameters:
    `exception` - the exception that occurred
    `context` - the execution control context for this request

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD