On 5/17/06, Marios Kerkemezos <[EMAIL PROTECTED]> wrote:
I recently upgraded my application from MyFaces 1.1 to MyFaces core 1.1.3 /Tomahawk 1.1.2 and amongst other differences between the two versions I discovered the following:When an exception is thrown during the execution of a PhaseListener (either during its beforePhase or afterPhase method), the exception is consumed by a new class (PhaseListenerManager.java), which simply logs it and does not let it propagate any further: … try { phaseListener.beforePhase(new PhaseEvent(facesContext, phaseId, lifecycle)); beforePhaseSuccess[i] = true; } catch (Exception e) { beforePhaseSuccess[i] = false; // redundant - for clarity log.error("Exception in PhaseListener " + phaseId.toString() + " beforePhase.", e); return; } ... Is this the expected behavior? In MyFaces 1.1.1 any exceptions thrown inside phase listeners were directly handled by the FacesServlet class and eventually propagated all the way up (to servlet filters etc.).
Take a look at this issue and see if it answers your questions. http://issues.apache.org/jira/browse/MYFACES-1205

