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

Servlets/JSP Java Discussion :

Gestion des exceptions et servlets


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut Gestion des exceptions et servlets
    Bonjour,

    Je ne comprends pas pourquoi je ne peux pas "catcher" depuis la classe spécialisée IOException mais depuis la générique Exception



    erreur Exception : is never thrown in body of corresponding ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            try {
                String mApplicationRootDirectory = sc.getRealPath("/");
                String s = new File(mApplicationRootDirectory).getAbsolutePath();
     
            } catch (IOException ioe) {
               System.out.println("Erreur Fichier")
            }


    Exception qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            try {
                String mApplicationRootDirectory = sc.getRealPath("/");
                String s = new File(mApplicationRootDirectory).getAbsolutePath();
     
            } catch (Exception e) {
                throw new IOException("Erreur fichier");
     
            }
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    C'est IOException qui est never thrown...

    Dans la signature de ta méthode, tu dis qu'elle peut envoyer des IOException hors, ton bloc try / catch l'empêche... d'où l'erreur...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Tout à fait

    Mais comment fait-on pour "catcher" dans le doGet une IOException?
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    A vrai dire, j'ai dit une connerie...
    Ton problème vient du fait que ton code ne balance pas de IOException
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Bonjour à tous et OButterlin en particulier

    si fic.xml n'existe pas (FileNotFoundException) je devrai leveur une IOException non ? j'ai tjs : is never thrown in body of corresponding

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
     
            try {
                String  srcFile = sc.getContextPath();
                String mApplicationRootDirectory = sc.getRealPath("/");
                String srcFile = new File(mApplicationRootDirectory).getAbsolutePath() + "/WEB-INF/classes/fic.xml";
     
     
            } catch (IOException e) {
                e.printStackTrace();
            }
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    En l'occurrence, ni new File(String) ni getAbsolutePath() ne renvoient d'IOException
    File

    public File(String pathname) Creates a new File instance by converting the given pathname string into an abstract pathname. If the given string is the empty string, then the result is the empty abstract pathname.Parameters:pathname - A pathname stringThrows:NullPointerException - If the pathname argument is null
    getAbsoluteFile

    public File getAbsoluteFile() Returns the absolute form of this abstract pathname. Equivalent to new File(this.getAbsolutePath()()).
    Returns:The absolute abstract pathname denoting the same file or directory as this abstract pathnameSince: 1.2
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Points : 399
    Points
    399
    Par défaut
    Bonjour,

    ta fonction doGet() se résume à un try {} catch(IOException) {} .
    Comme tu ne relances pas l'instance d'IOException, elle ne pourra jamais sortir du cadre de la fonction, tout simplement.
    Soit tu revoies la signature de ta fonction, soit tu relances l'exception depuis le bloc catch().

    Cordialement,
    Sébastien

Discussions similaires

  1. [ADOConnect] gestion des exception en tout temps
    Par portu dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/04/2005, 19h01
  2. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    Réponses: 6
    Dernier message: 19/08/2004, 15h06
  3. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 17h25
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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