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 :

[Exception]Gestion des exceptions


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut [Exception]Gestion des exceptions
    Bonjour je cherche a filtrer des exceptions de cette maniere et j'ai des erreurs
    je ne comprends pas, merci si quelqu'un a une idé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
    15
    16
    17
    18
    19
    try{
          // code generant l'exception SQL
     }catch(SQLException esql){
                int code = esql.getErrorCode();
                if (code==1045)      // capture de l'exception si code 1045
                {
                    request.setAttribute("erreur", " Erreur authentification auprés de la base de données : " + esql.getErrorCode()+" : "+esql.getMessage());
                    request.getRequestDispatcher("erreurBD.jsp").forward(request, response);
     
                }else if (code==1049)   // capture de l'exception si code 1049
                {
                    request.setAttribute("erreur", " Base de données inconnue : " + esql.getErrorCode()+" : "+esql.getMessage());
                    request.getRequestDispatcher("erreurBD.jsp").forward(request, response);
     
                }else{
                    //rejet de l'exception au niveau au dessus si erreur diferente
                    throw new SQLException(esql);
                }
      }
    L'erreur est au niveau de throw new SQLException(esql);
    j'ai essayé throw esql;
    et throw ;


    Grand merci d'avance.

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Points : 102
    Points
    102
    Par défaut
    euh j'ai mal lu dsl

  3. #3
    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,


    Et quel est le message d'erreur ?

    a++

    PS : j'ai rajouté les balises [ code ], merci d'y penser la prochaine fois

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    throw new SQLException(esql);
    l'erreur est :
    cannot find symbol
    symbol : constructor SQLException(java.sql.SQLException)
    location: class java.sql.SQLException
    throw new SQLException(esql);

    La, je comprend que le constructeur par copie n'existe pas.

    pour :
    l'erreur est :
    unreported exception java.sql.SQLException; must be caught or declared to be thrown
    throw esql;

    ici, je ne vais pas faire un bloc try/catch dans un bloc catch ?


    Ps: desolé pour les balises manquantes

  5. #5
    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
    Citation Envoyé par dguenard
    La, je comprend que le constructeur par copie n'existe pas.
    En effet il n'y a pas vraiment de notion de constructeur par copie en Java car tout est passé par référence...

    Citation Envoyé par dguenard
    pour :
    l'erreur est :
    unreported exception java.sql.SQLException; must be caught or declared to be thrown
    throw esql;

    ici, je ne vais pas faire un bloc try/catch dans un bloc catch ?
    Si tu veux faire remonter l'exception vers la méthode appellante il faut que tu la déclares dans la signature de la méthode :
    FAQ : Exception ... must be caught ... ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void mamethode throws SqlException {
    ...
    }
    Du coup il faudra utiliser un bloc try/catch lorsqu'on appelle ta méthode (pour intercepter les exceptions que tu feras remonter).


    a++

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Voici la methode qui se trouve dans ma classe Departement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public Vector<Personnel> listerPersonnel(String condition) throws SQLException,Exception
            {
                if (this.listePersonnel==null) listePersonnel= new MonResult("select * from INFORMATIQUE_PERSONNEL where ("+ condition +")").getTResult(new    UsineAPersonnel());
                return this.listePersonnel;
    	}
    l'appel de cette methode ce fait dans la methode d'une servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException{
    try{
        // code precedent
     
    }catch(){
     
    }
    }
    Merci,

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Ok ça marche :

    au niveau de ma clase Departement tout est ok!
    en fait c'est au niveau de la servlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException,[b]SQLException[/b]{ //premiere erreur
           // code 
     
    }
    puis cette methode est apellée par la methode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
           try{
             processRequest(request, response);  
           }catch(SQLException esql){
             request.setAttribute("erreur", " Base de données inconnue : " + esql.getErrorCode()+" : "+esql.getMessage());
             logger.throwing("connexion", "laconnection", esql);
             request.getRequestDispatcher("erreurBD.jsp").forward(request, response);
           }
        }
    c'est donc dans cette methode qu'il devait y avoir le bloc try / catch .

    Un grand merci pour ton aide ...
    quand on a la tête dans le guidon, on a du mal a redresser le nez pour voir ou on va ....

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

Discussions similaires

  1. Gestion des exceptions et des messages à afficher
    Par Aurélie38 dans le forum Struts 1
    Réponses: 0
    Dernier message: 01/07/2009, 11h28
  2. [Exception]Gestion des exceptions
    Par picomz dans le forum Langage
    Réponses: 9
    Dernier message: 17/08/2006, 16h24
  3. [Exception] gestion des exceptions
    Par s.grenet dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2006, 13h42
  4. [EXCEPTION] Gestion des Exceptions dans PL/SQL
    Par Titouf dans le forum PL/SQL
    Réponses: 4
    Dernier message: 08/02/2006, 00h46
  5. [Exception]Gestion des exceptions, capture sur la classe.
    Par @lantis dans le forum Général Java
    Réponses: 9
    Dernier message: 22/07/2005, 19h43

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