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

Java Discussion :

Avec Java Quelle sont les raisons de partir en exception au retour d'une méthode


Sujet :

Java

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Avec Java Quelle sont les raisons de partir en exception au retour d'une méthode
    Bonjour,

    Vous le savez probablement je débute en Java.
    J'ai observé un retour de méthode qui part en exception
    et l'exception n'est pas initialisée.
    je voudrais avoir ce qui peut en être l'explication.
    La méthode est appelée par la ligne de code suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FBConnectionRequestInfo defaultCri = getManagedConnectionFactory().getDefaultConnectionRequestInfo();
    Je donne ensuite la méthode qui est appelée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     private synchronized FBManagedConnectionFactory getManagedConnectionFactory() {
            if (mcf != null)
                return mcf;
     
            GDSType gdsType = GDSType.getType(getType());
     
            if (gdsType == null)
                gdsType = GDSFactory.getDefaultGDSType();
     
            mcf = new FBManagedConnectionFactory(gdsType, connectionProperties);
     
            return mcf;
        }
    Quand je regarde sous debugger mcf est cohérent en sortie de la méthode. Mais au retour de la méthode defautCri est inactif. le pas suivant conduit en exception.
    Quelle sont les raisons en Java d'un tel comportement. en C++ c'est une défaut de pile?
    Celui qui m'aidera sera

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Dans ce cas l'exception est sûrement dans getDefaultConnectionRequestInfo()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Bonjour
    Je pense comme vous sur la base de mes recherche sous debugger. mais comment savez vous celà? ca m'aiderai à comprendre

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ben ton code se limite à appeler deux méthodes. Si la première ne pose pas problème c'est forcément que cela vient de la seconde...


    Note quand même qu'il aurait été encore plus simple de lire le stacktrace de l'exception pour trouver l'origine exact du problème. D'ailleurs cela devrait toujours être le premier réflexe...



    a++

  5. #5
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Il faut mettre ta commande dans un bloc try/catch. Ca donnera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
    {
    FBConnectionRequestInfo defaultCri = getManagedConnectionFactory().getDefaultConnectionRequestInfo();
     
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    Ca apparaitra sur la console et tu ne te posera plus de question ;-)

  6. #6
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Informations pertinentes
    Bonjour,

    je dois vous dire que j'ai apprécié les différentes contributions que vous avez apporté à ma requête, c'est + que
    Ensuite à vous écouter j'ai identifié l'instruction qui conduisait à l'exception, et du coupe le mystère s'éclaircit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public synchronized static GDS getGDSForType(GDSType gdsType) {
            if (gdsType == null) gdsType = defaultType;
     
            GDSFactoryPlugin gdsPlugin = (GDSFactoryPlugin) typeToPluginMap
                    .get(gdsType);
     
            if (gdsPlugin == null)
                throw new IllegalArgumentException("Specified GDS type " + gdsType
                        + " is unknown.");
     
            return gdsPlugin.getGDS();
        }
    Je sort en exception parce que les défaut pour gdsType n'ont rien renvoyé et que gdsType est toujours null.
    Il faut que je comprenne ce qui devrait être mis dans gdsType, et c'est un pb de base de donnée.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/11/2014, 14h00
  2. [Avis] Quelles sont les meilleures API et outils Java ?
    Par Mickael Baron dans le forum API standards et tierces
    Réponses: 33
    Dernier message: 08/06/2011, 14h39
  3. Réponses: 2
    Dernier message: 08/07/2008, 10h50
  4. Réponses: 4
    Dernier message: 11/08/2006, 15h29
  5. Quelles sont les distibutions avec le kernel 2.4.x.x?
    Par barucca dans le forum Administration système
    Réponses: 7
    Dernier message: 01/04/2004, 15h44

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