Uploaded image for project: 'Beehive'
  1. Beehive
  2. BEEHIVE-903

Incoherent error message when an exception handler method throws an unhandled exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • v1m1
    • 1.0
    • NetUI
    • None

    Description

      This bug was distilled from a conversation with Xibin Zeng about http://issues.apache.org/jira/browse/BEEHIVE-899 .

      Repro:

      • Create the following page flow controller:

      @Jpf.Controller(
      catches=

      { @Jpf.Catch(type=Exception.class, method="handleIt") }

      )
      public class Controller extends PageFlowController
      {
      @Jpf.Action
      public Forward begin()

      { throw new IllegalStateException("intentional"); }

      @Jpf.ExceptionHandler
      public Forward handleIt(Exception ex, String actionName, String message, Object formBean)

      { throw new UnsupportedOperationException("another intentional exception"); }

      }


      • Hit it in the browser.

      EXPECTED: go to the normal unhandled-exception page, with a stack trace for the IllegalStateException (the original exception), and also see the stacktrace for the UnsupportedOperationException in the logs.

      ACTUAL:
      java.lang.ClassNotFoundException: handleIt
      org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
      org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
      org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117)
      org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
      org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:529)
      org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processException(PageFlowRequestProcessor.java:1026)
      org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
      org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:105)
      org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2048)
      org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:90)
      org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2119)
      org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
      org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:600)
      org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:886)
      org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:613)
      org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:163)
      org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

      Attachments

        Activity

          People

            Unassigned Unassigned
            rich Richard Feit
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: