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 :

Remonter les Exceptions


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut Remonter les Exceptions
    Ca fait un bail que j'ai plus programmé en Java et y a un truc qui ne veut pas marcher dans la gestion des exceptions.

    En gros j'ai deux classes:
    - une classe de gestion des clients qui se connecte à la base (GClient.java)
    - une classe pour la partie graphique GUI (ClientGUI.java)

    Dans GClient.java j'ai la partie de code suivant qui est censé lever une exception en cas de problème et m'envoyer le message d'exception correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public boolean updateClient(Client c) throws Exception{
        try{
          Connection c=.....
          ........
        }
        catch(Exception ex){
               throw new Exception(ex.getMessage());
        }
    }
    Puis, dans la partie graphique où j'utilise la précédente méthode, je fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        try{
           gestClient.updateclient(c);
        }
        catch(Exception ex){
           System.out.println(ex.getMessage());
        }
    }
    Et là le message d'erreur n'est pas remonté!!!!!
    J'obtiens dans la console de sortie de l'appli une ligne avec 'null' comme messag

    J'ai dpu oublier un détail mais quoi? Ilest crucial que je puisse remonter mes exceptions vers mon interface.

  2. #2
    Membre éprouvé Avatar de bygui
    Homme Profil pro
    PLM/ALM
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    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
    Par défaut
    bonjour,
    Verifies d'abord que le bloque catch() de ta méthode update client est utilisé. Il se peut que le message 'null' ne soit pas considérer comme une erreur (une methode qui renvoi null si la connexion a échoue par exemple).
    Dans ce cas créé toi même l'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(....)
    throw new Exception()

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    Je pense pas car j'ai essayé un debug à la main en faisant ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public boolean updateClient(Client c) throws Exception{
    try{
    Connection c=.....
    ........
    }
    catch(Exception ex){
    System.out.println(">>>"+ex.getMessage());
    throw new Exception(ex.getMessage());
    }
    }
    Et là ça m'affichait bien l'erreur dans ma console, mais impossible de retrouver cette erreur dans la partie interface....

    C'est comme si le throw envoyait une exception nulle, qui est pourtant levée car l'exécution arrive bien dans le catch du code de l'interface mais affiche 'null'...

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, plutôt que de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public boolean updateClient(Client c) throws Exception{
    try{
    Connection c=.....
    ........
    }
    catch(Exception ex){
    throw new Exception(ex.getMessage());
    }
    }
    Ce serait plus efficace de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public boolean updateClient(Client c) throws Exception{
    Connection c=.....
    ........
    }
    Il n'y a pas besoin de catcher une Exception pour la renvoyer exactement à l'identique.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    Merci c'était bien ça, là ça remonte enfin.

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

Discussions similaires

  1. imprimer les exception
    Par deeal dans le forum Général Python
    Réponses: 2
    Dernier message: 05/01/2005, 16h16
  2. Utiliser les exceptions pour un traitement particulier ?
    Par Blustuff dans le forum Assembleur
    Réponses: 11
    Dernier message: 01/12/2004, 02h21
  3. [Exceptions] Pb avec les exceptions
    Par joquetino dans le forum Langage
    Réponses: 11
    Dernier message: 22/09/2004, 17h08
  4. Intercepter les 'Exceptions'
    Par Teo dans le forum ASP
    Réponses: 3
    Dernier message: 05/01/2004, 19h55
  5. Réponses: 2
    Dernier message: 28/08/2003, 00h00

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