HFEJB on page #545, Qn #1, says that none of the container call back methods can throw any application exceptions and can throw only EJBExceptions. I agree with that. On page 548, it says a RemoveException (a checked exception) can be thrown with the client's invocation of a remove() method, which I belive can be translated as "throw RemoveException from ejbRemove() method if needed". My question is how can you throw a checked exception like RemoveException, when this exception is not defined in the throws class of the interface?
This could be basic java and I am not connecting something/somewhere and please fix my understanding.
public void remove(Handle handle) throws java.rmi.RemoteException, RemoveException
Remove an EJB object identified by its handle.
Throws: RemoveException - Thrown if the enterprise Bean or the container does not allow the client to remove the object. java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.