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

  FORUM HardWare.fr
  Programmation

  [java]unreported exeption java.io.IOexption

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java]unreported exeption java.io.IOexption

n°100698
scaldan
...
Posté le 15-02-2002 à 10:19:15  profilanswer
 

voila mon petit problème. Je comprend le message d'erreur mais je  
ne sais comment le résoudre.  
"unreported java.io.IOexption must be caught or declared to be thrown".
 
Programme principal:
 
package Chat;
 
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
 
class FenetreServeur extends JFrame implements ActionListener
{
     
    FenetreServeur()
    {
 etc...        
        /* lancement du serveur */
 ----------       LunchServer.lunch();------------ c'est ici
             
    }    
     
    public void actionPerformed(ActionEvent actionEvent)  
    {
        if (actionEvent.getSource() == exit)
            System.exit(0);
    }    
}
 
class Panneau extends JPanel
{
 etc....
}
 
public class IGServeur
{
    public static void main (String [] args)
    {
        FenetreServeur fenetreServeur = new FenetreServeur();
        fenetreServeur.setVisible(true);
        fenetreServeur.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
    }
}
 
second prog
 
package Chat;
 
import java.net.*;
import java.io.*;
 
class LunchServer  
{
    public static void lunch() throws IOException  
    {
        /* création d'une socket serveur */
        ServerSocket serverSocket = null;
        try
        {
   etc....
        }
        catch (IOException e)  
        {
  etc...
        }
 
        /* attente de récuperation des informations de la socket client */
        Socket clientSocket = null;
        try  
        {
etc...
        }
        catch (IOException e)
        {
      etc...
   }
         
    }
}
 
 
 
ben ma question est simple, comment faire sachant que quand j'utilise mon second prog avec un public static void main il fonctionne, mais dés qu'il devient une classe tout seule, il ne fonctionne plus avec le throws IOexception.
 
Merci.
(en esperant avoir été assez précis)

mood
Publicité
Posté le 15-02-2002 à 10:19:15  profilanswer
 

n°100703
jupiler
Un cousin...
Posté le 15-02-2002 à 10:21:51  profilanswer
 

tu interceptes ton excepion (catch) et en meme temps tu la renvoie (throws). Ca n'a pas bcp d'intéret  
 
et la méthode qui crée l'objet Lunch n'intercepte pas ton renvoie, donc il n'aime pas

 

[jfdsdjhfuetppo]--Message édité par jupiler--[/jfdsdjhfuetppo]


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°100706
scaldan
...
Posté le 15-02-2002 à 10:27:03  profilanswer
 

donc faudrait il que je fasse un  
FenetreServeur() throws IOexception dans le premier prog et que je retire du second ? m'enfin c'est comme cela que je comprend ton explication  
 
merci encore de ton aide.

n°100711
jupiler
Un cousin...
Posté le 15-02-2002 à 10:32:22  profilanswer
 

Non surtout pas!
 
 
il ne faut pas s'amuser à renvoyer les exceptions à chaque fois.
Quand tu l'as intercepté une fois par le catch, tu n'as plus besoin de la renvoyer à la méthode appelante
 
 
 
tu enlèves simplement le throws IOException au niveau de la déclaration de ta méthode lunch() et ca devrait etre bon


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°100718
scaldan
...
Posté le 15-02-2002 à 10:52:15  profilanswer
 

désolé du temps de réponse mais internet et java sont sur deux cessions differentes (d'où le temps de reponse à cause des tests).  
Si je retire le throws du second programme, et bien il ne compile plus dans ce cas car il ne reçoit pas d'exception.
 
Je continue mes tests et ma recherche mais là je suis un peu bloqué.

n°100722
jupiler
Un cousin...
Posté le 15-02-2002 à 10:54:38  profilanswer
 

il te met quoi comme erreur si tu enlèves le throws


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°100728
scaldan
...
Posté le 15-02-2002 à 11:07:28  profilanswer
 

si je retire le throws, le second prog ne compile plus et il me met 6 ou 7 unreported exception java.io.IOException. Alors que avant il me compilait gentillement le prog (m'enfin le second). Donc il faut surement mettre un throw kkpart pour qu'il puisse intercepter les exceptions, mais il faut aussi le mettre dans le premier programme, mais là je ne vois pas trop ou ??
 
cela va finir pas un sévère reboot moi je vous le dis.

n°100729
jupiler
Un cousin...
Posté le 15-02-2002 à 11:16:34  profilanswer
 

doit forcément y avoir dans ta méthode lunch une instruction qui lève une exception et n'est pas incluse dans un des blocs try.
 
si tu veux, laisse le throws, mais dans le constructeur FenetreServeur(), tu rajoutes un bloc try .. catch :
 
try {
    LunchServer.lunch();
}
catch (IOException e) {}


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°100739
scaldan
...
Posté le 15-02-2002 à 11:35:21  profilanswer
 

merci jupiler, cela fonctionne maintenant avec un try et catch à l'appel de la fonction. Il ne me reste plus qu'à bien approfondir ce mechanisme.
 
 :hello:


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

  [java]unreported exeption java.io.IOexption

 

Sujets relatifs
[JAVA] Images et Applications[java] Comment foutre en francais ce p@.. de JFileChooser ?
[ JAVA ] - Applet tout con mais marche po !![Java] - Remote et Observable
[Java] PrinterJob[JAVA] et swing encore un qui a un projet à rendre !!!!
Deplacement d'un objet graphique en Java[JAVA] SpinEdit
[JAVA] manipulation des fichiers .ico[java] Questions de debutant...
Plus de sujets relatifs à : [java]unreported exeption java.io.IOexption


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR