Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java]

    11 novembre 2007 à 15:08:18

    Salut, je suis débutant avec JAVA, et je n'arrive pas bien à comprendre certaines structures du langage. Je suis en train de créer une applet, mais lors de la compilation, j'ai ce message d'erreur :

    Citation : javac

    unreported exception java.io.IOException; must be caught or declared to be thrown


    Je sais que cela se raporte à un bloc try/catch mais je ne sais pas bien les utiliser.
    Autre chose, je ne suis pas sûr de la manière d'appeler une fonction déclarée plus haut dans mon code(readfile).

    Voila le début de code en question :
    1. import java.awt.*;
    2. import java.io.*;
    3. public class cryptkey extends java.applet.Applet {
    4.         public void read_file(String argv) throws IOException{
    5.                 BufferedReader lecteurAvecBuffer = null;
    6.                 String ligne;
    7.                 String retour;
    8.                 retour = "";
    9.                 try     {
    10.                         lecteurAvecBuffer = new BufferedReader
    11.                         (new FileReader(argv));
    12.                 }catch(FileNotFoundException exc){
    13.                         add(new Label("Impossible d'ouvrir le fichier"));
    14.                 }
    15.                 while ((ligne = lecteurAvecBuffer.readLine()) != null)
    16.                 retour += ligne;
    17.                 lecteurAvecBuffer.close();
    18.                 add(new Label(retour));
    19.         }
    20.         public void init (){
    21.                 add(new Label("Chargement de la clé de cryptage"));
    22.                 read_file("C:\\outlawteam\\cryptkey\\key.dsa");
    23.         }
    24. }


    Si vous voyez d'autres bourdes, n'hésitez pas, je suis là pour apprendre :p
    • Partager sur Facebook
    • Partager sur Twitter
      11 novembre 2007 à 15:15:16

      java.io.IOException

      Ceci veut dire que tu effectue une action qui est succeptible de retourner une exception IOException et que tu réalise cette action en dehors d'un try{}catch.

      A vue de nez ça pourrait - être le READLINE de ton while.
      • Partager sur Facebook
      • Partager sur Twitter
        11 novembre 2007 à 16:49:36

        En fait, ton post m'a fait réaliser que read_file peut retourner une execption (évident, puisque déclaré avec throws IOException).

        Mais c'est dans la deuxième partie du code que ca plante

        1. public void init (){
        2.                 add(new Label("Chargement de la clé de cryptage"));
        3.                 read_file("C:\\outlawteam\\cryptkey\\key.dsa");
        4.         }

        Donc je l'ai transformé en :
        1. public void init (){
        2.                         add(new Label("Chargement de la clé de cryptage"));
        3.                         try{
        4.                                 read_file("C:\\outlawteam\\cryptkey\\key.dsa");
        5.                         }catch(FileNotFoundException exc){
        6.                                 add(new Label("Impossible d'ouvrir le fichier"));
        7.                         }
        8.                 }

        Mais sans succès...

        L'erreur vient bien de cette ligne selon javac.
        C:\Program Files\Java\jdk1.6.0_03\bin>javac cryptkey.java
        cryptkey.java:26: unreported exception java.io.IOException; must be caught or de
        clared to be thrown
                                        read_file("C:\\outlawteam\\cryptkey\\key.dsa");
                                                 ^
        1 error
        C:\Program Files\Java\jdk1.6.0_03\bin>
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          11 novembre 2007 à 18:55:28

          Tu récupères l'erreur du type FileNotFoundException mais pas du type IOException. Si tu le fais, cela sera résolu -_-'
          • Partager sur Facebook
          • Partager sur Twitter

          [Java]

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown