4 Replies Latest reply on Mar 12, 2009 10:37 AM by Nick Belaevski

    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;
      }
      }