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

Développement Web en Java Discussion :

[HttpClient] comportement bizarre, saute des catch()...


Sujet :

Développement Web en Java

  1. #1
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut [HttpClient] comportement bizarre, saute des catch()...
    Bonjour, alors pour simplifier mon code j'ai

    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
    16
    17
    18
    19
    try {
      // un peu de blabla sur System.out
      // déclaration d'un objet
      MonObjet o = new MonObjet(...);
      String afficher = "";
      try {
     
        try {
          // Appelle d'une méthode de mon objet
          afficher = o.methode(...);
        } catch (Exception e) { afficher = e.getMessage(); }
     
        if (!afficher.equals("")) System.out.println(afficher);
      }
      catch (Exception e) { System.out.println(e.getMessage()); }
     
    }
    catch (Exception e) { System.out.println(e.getMessage()); }
    finally { ...}
    Dans ma méthode o.methode(), il y a la déclaration suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // classe org.apache.commons.httpclient.HttpClient
    HttpClient httpcli = new HttpClient();
    Ma méthode throws Exception.

    J'utilise le débogage dans tomcat et eclipse.
    J'arrive sur la méthode o.methode();
    Quand je passe dedans, ça plante sur la ligne HttpClient httpcli...
    mais mon catch qui entoure l'appel de o.methode n'attrape rien, le suivant non plus, le 3e non plus!!!
    Je me retrouve direct dans le finally (dernière ligne de mon code) !

    c'est la première fois que je vois ça !
    Si au moins j'arrivais à savoir qu'elle est l'erreur, mais là j'arrive même pas à attraper l'exception !

    Ce bout de code marche à merveille sur le serveur de la boîte mais sur mon poste local ça ne marche pas, et c'est pas un problème de compilation ou de librairie manquante, sinon eclipse aurait gueulé avant. Et j'ai mis la même librairie sur les 2.
    La différence entre les 2 c'est que le serveur est sous Linux avec Tomcat 4.1.29, et moi je suis sous win2K avec Tomcat 4.1.18...
    Membre éclairé, lol !

  2. #2
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Quelqu'un a une idée? ça marche toujours pas mieux
    Membre éclairé, lol !

  3. #3
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    soit l'exception est deja cathcee dans o.methode(), et tu n'en fais rien.

    Soit ce que httpClient te jette n'est pas une exception, mais peut etre un Throwable?

    Faudrait voir le code de o.methode().

    J'arrive sur la méthode o.methode();
    Quand je passe dedans, ça plante sur la ligne HttpClient httpcli...
    Comment tu sais ca? Tu es sur que ca ne plante pas autre part?
    Avec ton deboggeur, il fait quoi apres atteidre la ligne new HttpClient?


    Elle est dans quelle jar cette class HttpClient ?


    Plus de details stp... beaucoup plus

    Bon courage
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

  4. #4
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    alors j'ai résolu le pb, mais ça reste kan même bizarre ce truc.
    Ma méthode n'a pas de try catch qui encercle le new HttpClient.

    Le Throwable, j'conné pas bien... c'est un truc qui saute au finally sans passer dans les catch multiples?

    bon le pb venait que la lib org.apache.commons.httpclient dépend de org.apache.commons.logging.

    et cette API logging était sur le serveur de l'entreprise, sur le local en "production" (càd sans l'environnement eclipse) mais pas en développement (des répertoires différents).
    J'ai donc ajouté commons-logging dans le "chemin de compilation java" dans mon projet Eclipse... mais je suis surpris que le bazar ait pu compiler sans planter... parce que d'habitude eclipse gueule un peu plus que tomcat autonome quand j'ai pas ajouté une lib dans le chemin de compil'
    Membre éclairé, lol !

  5. #5
    Membre averti
    Avatar de knotty
    Inscrit en
    Mars 2002
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 126
    Points : 391
    Points
    391
    Par défaut
    si il te manquait un jar, ca devait jeter un NoClassDefFoundError, et ca n'est pas un Exception (c'est une Error).

    Les 2 sont des Throwables.

    Consulte l'API pour plus d'info.

    Cela t'enseigne une chose ceci dit :
    throws Exception et
    catch Exception, c'est pas tres tres beau.

    Bon courage.
    Christophe Ludet
    Testez vos connaissances Java - http://knotty.developpez.com
    Donner des ailes a votre application (J2EE patterns) - http://knotty.developpez.com/j2ee

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/04/2014, 14h04
  2. Réponses: 3
    Dernier message: 25/01/2010, 10h29
  3. Réponses: 3
    Dernier message: 10/11/2008, 23h31
  4. Comportement bizarre des index
    Par white_angel_22 dans le forum Requêtes
    Réponses: 0
    Dernier message: 19/02/2008, 18h12
  5. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39

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