IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

les exceptions java


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 11
    Points
    11
    Par défaut les exceptions java
    Bonjour à tous,

    Sous websphere, je rencontre un petit probleme qui genere des exceptions dans le fichier de log serveur (!= log appli):

    j'ai une methode (webservice) qui quand elle est appellee peut lever une exception e. Cette methode renvoie un int, donc quand je catch l'exception je suis obligé soit de mettre un return qqch soit un throw, en l'occurence ici c'est le throw (impossible de retourner un int pour des raisons fonctionnelles), comme il n'y a pas moyen de re-traiter cette exception apres elle apparait dans les logs serveur. Mon but serait sans trop modifier le code qu'elle n'apparaisse plus dans les logs serveur.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ben pas possible. Ca apparaît dans les logs parce que rien ne la catche ni ne la traite. Donc c'est Web Sphere qui la récupère et la trace. Pour ne pas la faire apparaître dans les logs, faut pas la lever. Après, à toi de voir comment en changeant éventuellement la sémantique de l'entier retourné. Par exemple si ta méthode doit toujours renvoyer un entier positif (elle renvoie un prix, par exemple), tu dis que finalement la méthode peut renvoyer un entier négatif et que dans ce cas-là c'est qu'il y a eu un pb. Tu renvoies alors un entier négatif dans ton catch de l'exception.

    Ce que je ne comprends pas dans ta question c'est lever une exception "pour des raisons fonctionnelles" : si c'est pour des raisons fonctionnelles, c'est que c'est un cas prévu qui doit être traité.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    typiquement j'ai un truc de ce type:

    public int methode1(...){

    int titi;
    switch titi

    case -1 throw MonException ("une exception");
    ....
    }

    public int methode2(...)throws MonException{
    try{
    int tutu=methode1;
    }
    catch (MonException e){
    log.debug(...);
    throw e; //on ne peut pas mettre un int (question de spec)

    }

    }

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ben faut changer la spec...

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    merci pour ta reponse mac
    en fait c'est une correction que je dois apporter au code d'une appli pour faire en sorte qu'elle crache moins d'exceptions dans les logs serveur, mais que ca apparaisse plutot dans les logs appli. Je ne pense pas que a la conception ils avaient prevu que dans ce cas precis y aurait autant d'exceptions dans les logs serveur (le fichier est assez lourd et peu lisible).

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Points : 81
    Points
    81
    Par défaut
    Effetivement, dans ce cas là, tu n'as pas 36000 solutions. Soit tu changes la spec de façon à retourner un entier au lieu d eremonter une exception, soit tu remontes l'exception mais tu la catches plus haut.

Discussions similaires

  1. Les exceptions en Java
    Par zpico dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 28/09/2011, 18h46
  2. Les exceptions en java
    Par jeedev dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2009, 12h30
  3. les exceptions en java
    Par Delnir dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 16/02/2009, 16h16
  4. [Debug] Rediriger les exceptions JAVA dans un log
    Par matt8-5 dans le forum Logging
    Réponses: 3
    Dernier message: 25/01/2008, 11h34
  5. Les exceptions en java
    Par Dev_info dans le forum Langage
    Réponses: 5
    Dernier message: 24/05/2007, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo