RMI et les exceptions

Je suis nouveau à l'aide du RMI et je suis relativement nouveau à l'aide d'exceptions.

Je veux être en mesure de lever une exception de plus de RMI (est-ce possible?)

J'ai un simple serveur qui sert des élèves et j'ai supprimer la méthode qui, si l'étudiant n'existe pas, je veux lancer une exception personnalisée de StudentNotFoundException qui s'étend RemoteException (est-ce une bonne chose à faire?)

Des conseils ou des conseils seraient grandement appréciés.

Serveur la méthode de l'Interface

    /**
 * Delete a student on the server
 * 
 * @param id of the student
 * @throws RemoteException
 * @throws StudentNotFoundException when a student is not found in the system
 */
void removeStudent(int id) throws RemoteException, StudentNotFoundException;

Serveur méthode de la mise en œuvre

    @Override
public void removeStudent(int id) throws RemoteException, StudentNotFoundException
{
    Student student = studentList.remove(id);

    if (student == null)
    {
        throw new StudentNotFoundException("Student with id:" + id + " not found in the system");
    }
}

Client méthode

    private void removeStudent(int id) throws RemoteException
{
    try
    {
        server.removeStudent(id);
        System.out.println("Removed student with id: " + id);
    }
    catch (StudentNotFoundException e)
    {
        System.out.println(e.getMessage());
    }

}

StudentNotFoundException

package studentserver.common;

import java.rmi.RemoteException;

public class StudentNotFoundException extends RemoteException
{
    private static final long serialVersionUID = 1L;

    public StudentNotFoundException(String message)
    {
        super(message);
    }
}

Merci pour votre réponse, j'ai maintenant réussi à résoudre mon problème et s'est rendu compte que l'extension de l'RemoteException était une mauvaise idée.

OriginalL'auteur Malachi | 2009-03-04