Page. 564 #4 Which of the following are EJB 2.0 specification guidelines regarding system exception? . . B. Bean methods should wrap unrecoverable checked exception in a javax.ejb.EJBException exception. C. For remote clients, bean methods should wrap unrecoverable checked exception in a java.rmi.RemoteException.
Answer is B only.
Why c is not correct? I know checked exception includes RemoteException, and container will handle that, no problem here. But there might not other unrecoverable checked exceptions, you will want to let container handle the rollback, clean up process by wrapping them up as RemoteException. :roll:
As of the EJB 2.0 specification, the bean methods are not allowed to declare (and throw) RemoteException anymore. Check out section 18.2.2 (System exceptions) of the EJB 2.0 specification which clearly explains how beans should process unrecoverable error conditions.
Thanks, I was confused by the role of bean provider and the client. Bean providers should wrap it up as EJBException NO MATTER WHAT, clients will receive them differently depends on whether it is remote or local.