Excepciones del sistema EJB3.1 frente a javax.ejb.EJBException
Solo un poco de antecedentes sobre las excepciones EJB3.1 antes de plantear mi pregunta:
Las excepciones de aplicación comprenden de
Excepciones marcadas o no marcadas definidas por el usuario que tienen la anotación @ApplicationException
Todas las excepciones marcadas
java.lang.Exception y sus excepciones de subclase
excepto java.rmi.RemoteException y sus excepciones de subclase
Las excepciones del sistema incluyen
java.rmi.RemoteException y sus excepciones de subclase
Todas las excepciones no verificadas
java.lang.RuntimeException y sus excepciones de subclase
java.lang.Error y sus excepciones de subclase
A continuación hay una declaración que he leído en estelibro
En el sistema EJB, las excepciones no son exceptuadas por el cliente, cuando se encuentran tales excepciones no se pasan al cliente tal como están, sino que se envuelven en una excepción javax.ejb.EJBException.
Mis preguntas -
¿Todas las excepciones de aplicación descritas anteriormente se deben lanzar directamente por EJB al cliente?Si las excepciones del sistema están envueltas dentro de javax.ejb.EJBException antes de lanzarlas al cliente, ¿se considera javax.ejb.EJBException como excepción del sistema?