Class ExceptionCatcher

java.lang.Object
org.apache.struts.chain.commands.ActionCommandBase
org.apache.struts.chain.commands.ExceptionCatcher
All Implemented Interfaces:
org.apache.commons.chain.Command<ActionContext>, org.apache.commons.chain.Filter<ActionContext>, ActionCommand

public class ExceptionCatcher extends ActionCommandBase implements org.apache.commons.chain.Filter<ActionContext>
Intercept any exception thrown by a subsequent Command in this processing chain, and fire the configured exception handler chain after storing the exception that has occurred into the Context.
  • Constructor Details

    • ExceptionCatcher

      public ExceptionCatcher()
  • Method Details

    • getCatalogName

      public String getCatalogName()
      Return the name of the Catalog in which to perform lookups, or null for the default Catalog.
      Returns:
      Name of catalog to use, or null
    • setCatalogName

      public void setCatalogName(String catalogName)
      Set the name of the Catalog in which to perform lookups, or null for the default Catalog.
      Parameters:
      catalogName - The new catalog name or null
    • getExceptionCommand

      public String getExceptionCommand()
      Return the name of the command to be executed if an exception occurs.
      Returns:
      The name of the command to be executed on an exception
    • setExceptionCommand

      public void setExceptionCommand(String exceptionCommand)
      Set the name of the command to be executed if an exception occurs.
      Parameters:
      exceptionCommand - The name of the chain to be executed
    • execute_

      protected boolean execute_(ActionContext actionCtx) throws Exception
      Clear any existing stored exception and pass the context on to the remainder of the current chain.
      Specified by:
      execute_ in class ActionCommandBase
      Parameters:
      actionCtx - The Context for the current request
      Returns:
      false so that processing continues
      Throws:
      Exception - On any error
    • postprocess

      public boolean postprocess(ActionContext actionCtx, Exception exception)
      If an exception was thrown by a subsequent Command, pass it on to the specified exception handling chain. Otherwise, do nothing.
      Specified by:
      postprocess in interface org.apache.commons.chain.Filter<ActionContext>
      Parameters:
      actionCtx - The ActionContext to be processed by this Filter
      exception - The Exception (if any) that was thrown by the last Command that was executed; otherwise null
      Returns:
      TRUE if post processing an exception occurred and the exception processing chain invoked
      Throws:
      IllegalStateException - If exception throws exception
    • lookupExceptionCommand

      protected org.apache.commons.chain.Command<ActionContext> lookupExceptionCommand()
      Return the command to be executed if an exception occurs.
      Returns:
      The command to be executed if an exception occurs
      Throws:
      IllegalArgumentException - If catalog cannot be found
      IllegalStateException - If command property is not specified