0 Replies Latest reply on Mar 9, 2009 12:42 PM by h b

    AjaxViewRoot.processEvents eats AbortProcessingException

    h b Newbie

      Hello,

      We are using Richfaces 3.2.1.GA with MyFaces and facelets.

      Sometimes when our app throws an exception, the underlying frameworks translate the exception to an AbortProcessingException. Then AjaxViewRoot.processEvents method just logs the exception and continues processing.

      Is this the way it should work? Shouldn't it rethrow the AbortProcessingException exception?

      Thanks in advance.

      Here is the code snippet from AjaxViewRoot.processEvents:

      while (havePhaseEvents) {
       try {
       event = (FacesEvent) phaseEventsQueue.remove();
       UIComponent source = event.getComponent();
       try {
       source.broadcast(event);
       } catch (AbortProcessingException e) {
       if (_log.isErrorEnabled()) {
       UIComponent component = event.getComponent();
       String id = null != component ? component
       .getClientId(context) : "";
       _log.error(
       "Error processing faces event for the component "
       + id, e);
       }
       }
       } catch (NoSuchElementException e) {
       havePhaseEvents = false;
       }
       }