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 :

[Exceptions]Attraper toutes les exceptions


Sujet :

Langage Java

  1. #1
    Membre confirmé

    Inscrit en
    Juin 2003
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 158
    Par défaut [Exceptions]Attraper toutes les exceptions
    Bonjour,

    Il y a certaines exceptions dans mon code qui ne sont pas interceptées et ne s'écrivent pas dans la console
    Par exemple, dans une classe dérivant de Thread, j'appelle la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    synchronized public boolean addEmail(uEmail email)
    {
        uEmail tmpEmail = null;
        tmpEmail.getBody();
        ...
    }
    J'ai créé un ThreadGroup dans lequel mon thread est déclaré. Dans le threadGroup, j'ai surchargé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void uncaughtException(Thread t, Throwable e)
    {
        System.err.println("uncaught exception: " + e);
    }
    Lors de l'exécution, l'appel à getBody pose bien problème mais je n'ai aucune trace dans la console. J'ai au débuggueur la stack suivante
    Thread [AWT-EventQueue-0] (Suspended (exception NullPointerException))
    NullPointerException(Throwable).printStackTrace(PrintStream) line: not available
    ThreadGroup.uncaughtException(Thread, Throwable) line: not available
    ThreadGroup.uncaughtException(Thread, Throwable) line: not available
    Pourquoi je ne passe pas dans mon implémentation de uncaughtException ?
    Pourquoi rien ne s'écrit dans la console ?

    Merci pour votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    regarde plutôt du coté de UncaughtExceptionHandler

  3. #3
    Membre confirmé

    Inscrit en
    Juin 2003
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 158
    Par défaut
    Je ne peux pas car UncaughtExceptionHandler est 1.5 alors que je suis en 1.4.2

    Après tests, si je fais le même code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    uEmail tmpEmail = null;
    tmpEmail.getBody();
    dans la méthode run() de la classe déclarée dans mon ThreadGroup, alors je passe bien dans uncaughtException ...

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    willow, j'ai eu le même souci que toi, en étant en 1.4. Effectivement, le UncaughtExceptionHandler ne fonctionne qu'avec la 1.5. Donc pour résoudre le problème, j'ai fait comme ça :

    A l'initialisation de mon programme, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.setProperty("sun.awt.exception.handler", "mon.package.MonExceptionHandler");
    Et la classe en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MonExceptionHandler {
     
        public MonExceptionHandler() {
        }
     
        public void handle(Throwable t) {
            // C'est ici que je retrouve toutes les exceptions non traitées.
        }
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre confirmé

    Inscrit en
    Juin 2003
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 158
    Par défaut
    Merci romaintaz, cela marche très bien

    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traitement commun à toutes les exceptions
    Par Davboc dans le forum SQL
    Réponses: 12
    Dernier message: 28/08/2007, 09h24
  2. intercepter toutes les exceptions Oracle ?
    Par mstic dans le forum Accès aux données
    Réponses: 3
    Dernier message: 19/04/2007, 10h52
  3. lister toutes les exceptions pouvant être lancées
    Par fabaroulettes dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2007, 18h05
  4. Capturer toutes les exceptions
    Par schneidb dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 13/02/2007, 14h51
  5. [VB.net] MsgBox pour toutes les exceptions
    Par collaud_vb dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/10/2006, 21h56

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