Rethrown checked exception should not be wrapped within ObserverException
-------------------------------------------------------------------------

                 Key: SOLDER-290
                 URL: https://issues.jboss.org/browse/SOLDER-290
             Project: Seam Solder
          Issue Type: Bug
          Components: Exception Handling
    Affects Versions: 3.1.0.Beta3
            Reporter: Jozef Hartinger
             Fix For: 3.1.0.CR1


The spec says:
{quote}Otherwise, the exception aborts processing of the event. No other 
observer methods of that event will be called. The
 BeanManager.fireEvent() or Event.fire() method rethrows the exception. If the 
exception is a checked exception,
 it is wrapped and rethrown as an (unchecked) ObserverException.{quote}

Therefore, everytime an exception handler marks the exception to be rethrown, 
ExceptionHandlerDispatch.executeHandlers() rethrows the exception. If the 
exception is checked, the CDI implementation must wrap the exception within 
ObserverException. As a result, the exception is rethrown within the 
ObserverException wrapper.

Everytime we notify the dispatcher using via the ExceptionToCatch event 
bm.fireEvent(new ExceptionToCatch(e)), we should check if the call raises an 
exception and if it does raises ObserverException, we should unwrap it.

This should be also documented for other integrators to do the same thing.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to