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

Eclipse Java Discussion :

Uncaught Exception Breakpoint


Sujet :

Eclipse Java

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut Uncaught Exception Breakpoint
    Bonjour,

    J'aimerais que le debugger s’arrête automatiquement sur une exception / error. En mode "caught exception", pas de problème, mais cela n'a plus l'air de fonctionner en mode "uncaught exception".

    En explorant la stack (après avoir lancé le debug depuis Eclipse), je vois un wrapper autour de mon code, dans ParentRunner.class. Ce wrapper catch tout throwable que mon code pourrait lancer:
    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
        public void run(final RunNotifier notifier) {
     
            EachTestNotifier testNotifier = new EachTestNotifier(notifier, getDescription());
     
            try {
                Statement statement = classBlock(notifier);
                statement.evaluate();
            } catch (AssumptionViolatedException e) {
                testNotifier.fireTestIgnored();
            } catch (StoppedByUserException e) {
                throw e;
            } catch (Throwable e) {
                testNotifier.addFailure(e);
            }
        }
    - Ai-je bien compris ? Quel est l'intérêt d'un mode "uncaught" si Eclipse catch tout ?
    - Puis-je exclure ce catch en définissant un Uncaught Exception Breakpoint ?
    - Si oui, y a-t-il d'autres wrapper à considérer ?

    Merci d'avance.

  2. #2
    Membre du Club
    Homme Profil pro
    Eclipse Dev
    Inscrit en
    Mai 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Eclipse Dev

    Informations forums :
    Inscription : Mai 2015
    Messages : 33
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    Je ne suis pas sûr d'avoir bien compris mais en Java, tu n'es pas obligé de catcher toutes les exceptions. Par exemple, le plus simple et de lancer un main Java avec 2 arguments et d'essayer d'accéder à args[2], tu vas avoir une IndexOutOfBoundException qui va être levée. Or il n'y a pas de catch, donc cette exception ne sera pas catchée et ton programme se terminera avec Eclipse et le debugger. Tu peux mettre des points d'arrêts sur ce type d'exception qui sont "uncaught exception".

    De plus dans ton code tu as un catch Throwable, or toutes les exceptions sont des sous-classes de Throwable, il n'y a donc aucune chance que tu aies des "uncaught exception".

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Merci eclipsedevfr,
    De plus dans ton code tu as un catch Throwable or toutes les exceptions sont des subclasses de Throwable il n'y a donc aucune chance que tu aies des uncaught exception
    Justement, ce catch est dans un wrapper eclipse, pas dans mon code. Si eclipse lance systématiquement mon code à travers ce wrapper, il n'y aura jamais d'uncaught exception en lancant un debug depuis eclipse.
    Quel est l'intérêt d'un mode "uncaught" si Eclipse catch tout ? Soit Eclipse implémente une fonction qui ne peut pas être utilisé (!), soit j'ai raté quelque chose (un moyen de lancer un debug sans que ce wrapper soit utilisé)

  4. #4
    Membre du Club
    Homme Profil pro
    Eclipse Dev
    Inscrit en
    Mai 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Eclipse Dev

    Informations forums :
    Inscription : Mai 2015
    Messages : 33
    Points : 53
    Points
    53
    Par défaut
    Il n'y a pas à mon souvenir de ParentRunner.java dans le code Eclipse mais dans JUnit

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Effectivement c'est une très bonne explication. J'étais en train de debug un test unitaire, ce qui explique la présence d'un catch global.
    Merci eclipsedevfr !

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

Discussions similaires

  1. Besoin d'aide sur une erreur javascript Uncaught Exception
    Par Jim_Nastiq dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/11/2007, 16h11
  2. erreur Uncaught exception Tutorial Rob Allen
    Par yveslens dans le forum Zend Framework
    Réponses: 3
    Dernier message: 05/11/2007, 09h45
  3. [COM] Uncaught exception 'com_exception'
    Par cecile84 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/10/2007, 16h52
  4. Uncaught exception 'Zend_Controller_Dispatcher_Exception'
    Par beho dans le forum Zend Framework
    Réponses: 5
    Dernier message: 30/04/2007, 17h14
  5. Chemin d'accès, uncaught exception
    Par maximenet dans le forum Zend Framework
    Réponses: 12
    Dernier message: 26/07/2006, 14h48

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