Gestion des exceptions [Résolu]

plop3000 135 Messages postés mercredi 23 mai 2007Date d'inscription 7 avril 2012 Dernière intervention - 10 avril 2008 à 15:49 - Dernière réponse : plop3000 135 Messages postés mercredi 23 mai 2007Date d'inscription 7 avril 2012 Dernière intervention
- 10 avril 2008 à 21:31
Bonjour,

Je travaille actuellement sur un projet dans lequel, comme pour tout projet, se pose la question de la gestion des exceptions. Ma question est la suivante : comment dois-je les gérer ? En effet, pour l'instant, dans tous mes blocs "catch", lorsqu'une exception "er" est levée je fais juste un er.printStackTrace() qui me permet de voir les exceptions dans la console, mais ce n'est pas propre. Alors que faire ? Un fichier de log ? Un  traitement personnalisé pour chaque type d'exception ?

Je prend toutes les idées ;)

Merci d'avance
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Twinuts 5272 Messages postés dimanche 4 mai 2003Date d'inscription 3 août 2018 Dernière intervention - 10 avril 2008 à 17:13
3
Merci
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.4 (Linux)" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,







"De plus, j'ai entendu parlé de log4J mais il me parait tropcompliqué pour mon projet qui est relativement petit."
>>Log4j c'est surtout pour
avoir une normalisation des logs basée sur le protocole syslog.







"En ce qui concerne les fichiers de log, comment puis les créer ? Pour
l'instant je crée juste un fichier que je nomme "monLog.log" et j'écrit
dans ce fichier avec un BufferedWriter. N'y a t il pas une méthode plus
"pro" pour faire ça ?"


>>Une solution simple qui ne
flinguerai pas ton code et surtout tes « er.printStackTrace() »
consisterait à rediriger le flux d'erreur vers le fichier log tout
en gardant ton code en l'état.


L'exemple ci-dessous montre comment
rediriger System.out et System.err vers un fichier :



import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

public class Test {

    public static void main(String[] args) {
        PrintStream stdout = getPrintStream("stdout.log");
        PrintStream stderr = getPrintStream("stderr.log");
        if(stdout != null)
            System.setOut(stdout);
        if(stderr != null)
            System.setErr(stderr);
       
        //utilisation de System.out et System.err normalement
        System.out.println("Test stdout");
        System.err.println("Test stderr");
        //exemple avec une exception
        try {
            ((String)null).toCharArray();
        } catch(NullPointerException e) {
            e.printStackTrace();
        }
       
        if(stdout != null)
            stdout.close();
        if(stderr != null)
            stderr.close();
    }
   
    public static PrintStream getPrintStream(String file) {
        try {
             return new PrintStream(new FileOutputStream(new File(file)));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return null;
        }
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de Twinuts
Twinuts 5272 Messages postés dimanche 4 mai 2003Date d'inscription 3 août 2018 Dernière intervention - 10 avril 2008 à 16:33
0
Merci
Salut,

l'option fichier de log est assez pratique si ton application n'est pas exécutée depuis une console (dos, unix, etc..).
Pour ce qui est du traitement personnalisé, ça dépend surtout de tes besoins...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
plop3000 135 Messages postés mercredi 23 mai 2007Date d'inscription 7 avril 2012 Dernière intervention - 10 avril 2008 à 16:39
0
Merci
Merci de ta réponse.

En ce qui concerne les fichiers de log, comment puis les créer ? Pour l'instant je crée juste un fichier que je nomme "monLog.log" et j'écrit dans ce fichier avec un BufferedWriter. N'y a t il pas une méthode plus "pro" pour faire ça ?

De plus, j'ai entendu parlé de log4J mais il me parait tropcompliqué pour mon projet qui est relativement petit.
Commenter la réponse de plop3000
cs_AlexN 719 Messages postés lundi 5 décembre 2005Date d'inscription 8 janvier 2014 Dernière intervention - 10 avril 2008 à 17:18
0
Merci
Salut,

Regardes du coté de log4j
Commenter la réponse de cs_AlexN
cs_AlexN 719 Messages postés lundi 5 décembre 2005Date d'inscription 8 janvier 2014 Dernière intervention - 10 avril 2008 à 17:18
0
Merci
ah,

j'ai raté un refresh
Commenter la réponse de cs_AlexN
plop3000 135 Messages postés mercredi 23 mai 2007Date d'inscription 7 avril 2012 Dernière intervention - 10 avril 2008 à 21:31
0
Merci
Merci beaucoup pour vos réponses, je vais regarder tout ça
Commenter la réponse de plop3000

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.