> Nope, only ever loaded locally. The API in question, doesn't extend remote, > I just thought it made more sense to declare it throws an IoException, even > if the implementation throws a RemoteException. > In fact many API methods throw a RemoteException because their > implementation use java.rmi.Remote. If an implementation was to use some > other method of network communication or language, then the IOException > might make more sense. RemoteException extends IOException, so new clients > would still catch the RemoteException since it's a subclass.
I don't know if it's an important point, but as far as I know, the convention of throwing RemoteException (as opposed to just IOException) is a very, very old part of the RMI (and later Jini) spec. I think it would be odd to try and change this convention now. OTOH, the specification specifically allows a superclass of RemoteException to be used http://java.sun.com/javase/6/docs/platform/rmi/spec/rmi-objmodel5.html
