Bonjour, je developpe une appli client/server avec du corba. Je me pose juste une question de bonne pratique de developpement lors d'un appel d'une fonction qui peut lever des exceptions.

Prenons par exemple une methode saveFile() . Le client fait une demande de sauvegarde de fichier au serveur via un proxy. Le serveur applique sa fonction saveFile.

Est il preferable que le serveur catch son exception, la logue et renvoie un etat success true/false (ou code erreur ) de la methode au client,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
//SERVER
   public boolean saveFile(String name) {
        File file = new File(name);
        boolean success = false;
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter(olbFile));
            bw.write(olv.toOLBString());
            bw.close();
            success = true;
        } catch (IOException e) {
           System.out.println(e);
        }
        return success;
    }
ou le serveur se contente de faire un throws de son exception et c'est le client qui se charge de la catcher et de la loguer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
//SERVER
   public void saveFile(String name) throws IOException  {
        File file = new File(name);
        BufferedWriter bw = new BufferedWriter(new FileWriter(olbFile));
        bw.write(olv.toOLBString());
        bw.close();
    }

Quel serait la facon de faire la plus "propre" ?? merci pour vos avis.