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

Tests et Performance Java Discussion :

Comment lister les exceptions interceptées?


Sujet :

Tests et Performance Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 62
    Points : 43
    Points
    43
    Par défaut Comment lister les exceptions interceptées?
    Bj,
    Lors de l'exécution d'un programme je voudrais savoir comment je pourrais avoir la liste des exceptions qui sont intercéptées (catch) dans le programme lui meme.
    - Peut on directement avoir cette information depuis la VM? comment?
    - Existe t-il des outils qui tournent en tache de fond et qui permettent d'avoir ce genre d'information. S'il est possible d'utiliser un tel outils j'aurais ègalement besoin d'avoir accès à un genre de rapport (xml ou autre...)

    Merci de vos rèponses.
    Alex

  2. #2
    Membre habitué Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 185
    Points
    185
    Par défaut
    Bonjour

    Le catch permet justement d'intercepté les exceptions pour leur allouer un traitement propre.
    Elle ne sont donc souvent pas remonter par les programmes et sont donc impossible à identifier.
    Je peux par exemple décider de créer ma propre exception qui ne sera en fait pas du tout une erreur de l'application mais juste un genre de 'if'.

    Le printstacktrace permet d'afficher les raisons d'une exceptions et il faut qu'il soit présent dans chacun des catchs que tu veux surveiller. Ainsi, tu pourras voir l'erreur sur la sortie d'erreur de ton application.
    Laisser un message après le Bug!

  3. #3
    Membre du Club
    Inscrit en
    Juin 2003
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 62
    Points : 43
    Points
    43
    Par défaut
    Salut

    Oui je sais bien que les exceptions peuvent etre interceptées. Mais justement je voudrais savoir dans un programme (que je n ai pas ecrit, et ou les exceptions sont tres mal gérées) le nombre d exceptions catché et ou il ne se passe rien...
    Par exemple il y a desfois un connection a une database qui retourne une exception, et l exception est intercepté mais rien ne se passse.. l utilisateur attend attend.. pas de message d erreur etc...
    J ai trouvé par exemple YouKit qui pourrait faire ce genre de chose.. mais c est un programme proprietaire..donc peut etre a t-on possibilité de faire la meme chose directement avec du code..

  4. #4
    Membre habitué Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : PLM/ALM
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 185
    Points
    185
    Par défaut
    Je dois avouer que je n'ai pas touché a ces logiciels mais comme outils d'analyse de programme Java tu as JConsole et VisualVM. Je ne sais pas s'il te permettront de voir ce que tu veux.
    Je ne sais pas la taille du programme que tu veux analyser et d'où il vient mais tu as aussi la possibilité de décompiler les classes via jad ou autre...
    Laisser un message après le Bug!

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Ces outils dans ton cas vont te permettre de voir si un thread est bloqué par exemple ou si tu as une consomation mémoire anormale.

    Pour une application avec une gestion des exceptions mal écrite. Tu n'as pas trop le choix il va falloir aller dans le code.

    Tu dois certainnement avoir que des syntaxes générique comme : catch(Exception e) à la place de l'exception spécifique.

    Ensuite tu dois analyser les RuntimeException que tu veux gérer et celles qui doivent remonter au framework ou à l'utilisateur.

    Voilà c'est une partie qui est très souvent négligée, mais qui fait la différence entre un boût de code foireux et du code bien écrit.

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2002
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 360
    Points : 3 614
    Points
    3 614
    Par défaut
    Citation Envoyé par alexthomas Voir le message
    J ai trouvé par exemple YouKit qui pourrait faire ce genre de chose.. mais c est un programme proprietaire..donc peut etre a t-on possibilité de faire la meme chose directement avec du code..
    Salut,

    Pourquoi ne pas utiliser la version d'essai de Yourkit et si tu a besoin de plus de temps et/ou qu'il te convient l'acheter ?

    Car comme tu le dit, Yourkit sait le faire http://www.yourkit.com/docs/95/help/..._telemetry.jsp

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    tu sembles avoir besoin du moins si cets une application j2ee de log4j couplé avec un outil de monitoring tel que Nagios.

  8. #8
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Décompilation du code et outils d'analyse de code comme findbugs devrait faire l'affaire.

    Avec de l'aspect, tu pourrais également vérifier que pour tout Throwable crée la stacktrace est utilisée. Cependant tu trouveras des cas où c'est normal et non une mauvaise gestion des erreurs (ex: Logger en DEBUG des exceptions sans intérêt).
    Le problème de cette approche, c'est qu'elle est dynamique. Donc tant que l'exception n'est pas mal gérée tu n'a rien.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

Discussions similaires

  1. [Exception]Comment gérer les exceptions ?
    Par Gildas Huart dans le forum Général Java
    Réponses: 7
    Dernier message: 29/03/2005, 18h01
  2. [VB.NET] Comment lister les ordinateurs d'un réseau
    Par Jan-t dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/03/2005, 08h44
  3. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 18h17
  4. Comment lister les exécutables actifs ?
    Par Lung dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 15/04/2004, 13h03
  5. [VB6] Comment lister les serveurs SQL d'un domaine ?
    Par WOLO Laurent dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/01/2004, 08h49

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