IOException and RemoteException were included in the Java API with there own unique usefullness.
as defined in the specs
IOException - general class of exceptions produced by failed or
interrupted I/O operations.
RemoteException - common superclass for a number of communication-related exceptions that may occur during the execution of a remote method call
Use either of these 2 exception based on their definitions.