Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3698 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  must be caught or declared to be thrown

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

must be caught or declared to be thrown

n°164102
cybervince
It's all good man
Posté le 23-06-2002 à 17:22:25  profilanswer
 

Je lutte avec cette erreur, et étant débutant, j'ai beaucoup de mal.
Voici les codes source, ca doit être tout bête pour vous, mais je vois pas...

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.io.IOException;
  5. public class NewDatawarehouse extends JDialog
  6. {
  7.  private JTextField nom;
  8.  private JTextField host;
  9.  private JTextField port;
  10.  private JTextField sid;
  11.  public NewDatawarehouse()
  12.  {
  13.    init();
  14.  }
  15.  public NewDatawarehouse(Frame owner)
  16.  {
  17.    super(owner);
  18.    init();
  19.  }
  20.  public NewDatawarehouse(Dialog owner)
  21.  {
  22.    super(owner);
  23.    init();
  24.  }
  25.  public void init()
  26.  {
  27.    setTitle("Ajout de datawarehouse" );
  28.    // Définition des Panels
  29.    JPanel pan_principal = new JPanel(new BorderLayout());
  30.    JPanel pan_label = new JPanel(new GridLayout(4,1));
  31.    JPanel pan_textfield = new JPanel(new GridLayout(4,1));
  32.    JPanel pan_button = new JPanel(new GridLayout(1,2));
  33.    // Positionnement des Panel sur le Panel principal
  34.    pan_principal.add(pan_label, BorderLayout.WEST);
  35.    pan_principal.add(pan_textfield, BorderLayout.CENTER);
  36.    pan_principal.add(pan_button, BorderLayout.SOUTH);
  37.    // Ajout des éléments sur les différents Panels
  38.    pan_label.add(new JLabel(" Nom de la Base " ));
  39.    pan_label.add(new JLabel(" Host " ));
  40.    pan_label.add(new JLabel(" Port " ));
  41.    pan_label.add(new JLabel(" SID " ));
  42.    // Définition des Boutons
  43.    JButton ok = new JButton("Créer la base" );
  44.    JButton annuler = new JButton("Annuler" );
  45.    // Positionnement des Boutons
  46.    pan_button.add(annuler);
  47.    pan_button.add(ok);
  48.    // Définition des zones de saisie
  49.    nom = new JTextField(20);
  50.    host = new JTextField(20);
  51.    port = new JTextField(5);
  52.    sid = new JTextField(15);
  53.    // Positionnement des zones de saisie
  54.    pan_textfield.add(nom);
  55.    pan_textfield.add(host);
  56.    pan_textfield.add(port);
  57.    pan_textfield.add(sid);
  58.    this.setContentPane(pan_principal);
  59.    // Gestion des événements
  60.    ok.addActionListener(new ActionListener()
  61.    {
  62.      public void actionPerformed(ActionEvent e)
  63.      {
  64.        System.out.println("Ecriture des paramètres dans le fichier de configuration" );
  65.        String fichieractuel=lectureFichier.readFile("conf_dtw.t
  66. xt" );
  67.        System.out.println(fichieractuel);
  68.        String nouveaufichier=fichieractuel+"|"+nom.getText()+
  69. "|"+host.getText()+":"+port.getText()+":"+sid
  70. .getText();
  71.        System.out.println(nouveaufichier);
  72.        EcritureTexte.writeFile(nouveaufichier);
  73.      }
  74.    });
  75.    annuler.addActionListener(new ActionListener()
  76.    {
  77.      public void actionPerformed(ActionEvent e)
  78.      {
  79.        System.out.println("Fermeture de la fenetre et retour à la fenetre de connexion" );
  80.      }
  81.    });
  82.  }
  83.  public static void main(String[] args)
  84.  {
  85.    NewDatawarehouse test = new NewDatawarehouse();
  86.    test.setSize(300,150);
  87.    test.setVisible(true);
  88.  }
  89. }


 

Code :
  1. // Ecriture dans un fichier texte
  2. import java.io.*;
  3. public class EcritureTexte
  4. {
  5.   // Méthode main
  6.   public static void writeFile(String chaine) throws IOException
  7.   {
  8.   // nom du fichier physique à écrire
  9.   String fichier ="conf_dtw.txt";
  10.   // association d'un nom logique "fichierSortie"
  11.   // au fichier physique "conf_dtw.txt"
  12.   // les 3 lignes suivantes sont nécessaires
  13.   FileWriter fw = new FileWriter (fichier);
  14.   BufferedWriter bw = new BufferedWriter (fw);
  15.   PrintWriter fichierSortie = new PrintWriter (bw);
  16. fichierSortie.print(chaine);
  17.   fichierSortie.close(); // fermeture du fichier
  18.   System.out.println("Le fichier " + fichier + " a été créé!" );
  19.   }
  20. }


J'espère que vous pourrez m'aider.


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
mood
Publicité
Posté le 23-06-2002 à 17:22:25  profilanswer
 

n°164103
smaragdus
whores, drugs & J.S. Bach
Posté le 23-06-2002 à 17:26:00  profilanswer
 

J'ai pas lu le code mais comme l'erreur le dit : tu surcharges une méthode qui peut envoyer une exception : tu dois attrapper l'exception avec try/catch ou bien garder le même prototype de la méthode (declarateur : thrown)

n°164104
cybervince
It's all good man
Posté le 23-06-2002 à 17:32:39  profilanswer
 

Smaragdus a écrit a écrit :

J'ai pas lu le code mais comme l'erreur le dit : tu surcharges une méthode qui peut envoyer une exception : tu dois attrapper l'exception avec try/catch ou bien garder le même prototype de la méthode (declarateur : thrown)  




Au niveau du code, ca impliquerais quoi exactement ?
Parce que j'ai déjà essayé avec un Try Catch, et chui pas sur de l'avoir fé correctement


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
n°164114
R3g
fonctionnaire certifié ITIL
Posté le 23-06-2002 à 17:51:54  profilanswer
 

C'est à quel endroit de ton code l'erreur ? (flemme de tout lire, c'est Dimanche !)
 
Sinon le try/catch, ca doit faire un truc du genre :

Code :
  1. try{
  2. méthodeQuiPeutLancerUneException();
  3. } catch (Exception e){
  4. // Traiter l'erreur
  5. }


Maintenant si tu veux pas traiter l'exception là ou elle est lancée, tu rajoutes throws Exception à la déclaration de ta methode, et l'exception remonte si elle est lancée.

n°164117
Cherrytree
cn=?
Posté le 23-06-2002 à 17:53:39  profilanswer
 

Dans ton actionPerformed, remplace "EcritureTexte.writeFile(nouveaufichier);" par :

Code :
  1. try {
  2.     EcritureTexte.writeFile(nouveaufichier);
  3. } catch(IOException e) {
  4. }

Au ";" près ça doit marcher. Mais dans ce cas, tu ne fais rien s'il y a un problème.


---------------
Le site de ma maman
n°164127
cybervince
It's all good man
Posté le 23-06-2002 à 18:11:39  profilanswer
 

Ok merci, je vais tester celà. Je vous tiens au courant


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
n°164132
veryfree
Posté le 23-06-2002 à 18:20:27  profilanswer
 

mon petit boulay  
chui fier de ton code il a une superbe indentation c'est tres important

n°164144
cybervince
It's all good man
Posté le 23-06-2002 à 18:38:06  profilanswer
 

veryfree a écrit a écrit :

mon petit boulay  
chui fier de ton code il a une superbe indentation c'est tres important  




Merci grand maitre.
J'avais à l'époque du BTS un prof très pointilleux sur ce point.
Et puis moi aussi ca m'aide bien de l'indenter parfaitement, je me comprends mieux :lol:  
Sinon, ben le source marche, donc rdv dans 10mn pour mon prochain soucis.


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
n°164167
darklord
You're welcome
Posté le 23-06-2002 à 19:34:46  profilanswer
 

next time cybervince, en plus d'ajouter le code comme tu l'as si bien fait, pourrais tu ajouter le message du compilo et mettre en GRAS le(s) ligne(s) concernée(s) dans le code  ...
 
Avec ca on peux te répondre très très vite (c'est bien plus efficient)
 
A+


---------------
Just because you feel good does not make you right
n°164218
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-06-2002 à 21:11:25  profilanswer
 

mais c'est mon arrière petit boolay !!! dans mes bras mon enfant  :sweat:


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 23-06-2002 à 21:11:25  profilanswer
 

n°164334
benou
Posté le 24-06-2002 à 08:21:30  profilanswer
 

DarkLord a écrit a écrit :

 pourrais tu ajouter le message du compilo et mettre en GRAS le(s) ligne(s) concernée(s) dans le code  ...




:jap:

n°164413
--greg--
Posté le 24-06-2002 à 10:48:24  profilanswer
 

DarkLord a écrit a écrit :

[...]
Avec ca on peux te répondre très très vite (c'est bien plus efficient)



 
on dit "efficace", arrete de te la peter bilingual :D

n°164414
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-06-2002 à 10:49:35  profilanswer
 

--greg-- a écrit a écrit :

 
 
on dit "efficace", arrete de te la peter bilingual :D  




[:rofl]
 :lol:  :lol:


---------------
J'ai un string dans l'array (Paris Hilton)
n°164415
darklord
You're welcome
Posté le 24-06-2002 à 10:51:50  profilanswer
 

--greg-- a écrit a écrit :

 
 
on dit "efficace", arrete de te la peter bilingual :D  




 
c'est vraiment la chose à dire tiens ca!


---------------
Just because you feel good does not make you right
n°164416
gfive
Posté le 24-06-2002 à 10:53:19  profilanswer
 

Après avoir regardé ton code, c facile :  
 
Cette méthode :  
public static void writeFile(String chaine) throws IOException  
 
lance une IOException
 
Donc, dans la méthode qui l'appelle (public void actionPerformed(ActionEvent e)  )
 
il faut la catcher (tu ne peux pas la relancer, sinon, tu ne respectera pas le prototype de ActionPerformed, qui est défini par l'interface ActionListener)

n°164417
veryfree
Posté le 24-06-2002 à 10:53:32  profilanswer
 

cybervince a écrit a écrit :

 
Merci grand maitre.
J'avais à l'époque du BTS un prof très pointilleux sur ce point.
Et puis moi aussi ca m'aide bien de l'indenter parfaitement, je me comprends mieux :lol:  
Sinon, ben le source marche, donc rdv dans 10mn pour mon prochain soucis.  




t'as fait quoi apres ton BTS?

n°164558
Cherrytree
cn=?
Posté le 24-06-2002 à 13:48:11  profilanswer
 

gfive a écrit a écrit :

Après avoir regardé ton code, c facile :  
 
Cette méthode :  
public static void writeFile(String chaine) throws IOException  
 
lance une IOException
 
Donc, dans la méthode qui l'appelle (public void actionPerformed(ActionEvent e)  )
 
il faut la catcher (tu ne peux pas la relancer, sinon, tu ne respectera pas le prototype de ActionPerformed, qui est défini par l'interface ActionListener)  



C'est ce que j'ai dit ! :D
Confirmation du sous-boolay ? Cela marche-t-il ainsi ?


---------------
Le site de ma maman
n°167085
cybervince
It's all good man
Posté le 27-06-2002 à 11:48:22  profilanswer
 

Cherrytree a écrit a écrit :

C'est ce que j'ai dit ! :D
Confirmation du sous-boolay ? Cela marche-t-il ainsi ?




Oué oué, je confirme, ca marche :jap:


---------------
SaulGoodman.fr: Actus sur la série Better Call Saul
n°167431
Cherrytree
cn=?
Posté le 27-06-2002 à 16:27:30  profilanswer
 

cybervince a écrit a écrit :

 
Oué oué, je confirme, ca marche :jap:  



Hourra !


---------------
Le site de ma maman
n°167435
veryfree
Posté le 27-06-2002 à 16:30:16  profilanswer
 

Cherrytree a écrit a écrit :

Hourra !




 [:vinz416@school]

n°658850
veryfree
Posté le 28-02-2004 à 21:33:40  profilanswer
 

nostalgie qd tu nous tiens :'(

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  must be caught or declared to be thrown

 

Sujets relatifs
c++ : "illegal pure syntax, must be '= 0'" 
Plus de sujets relatifs à : must be caught or declared to be thrown


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)