Throws [Résolu]

Signaler
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
-
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
-
bonjour svp à quoi sert throws ici???!

import java.io.FileWriter;
import java.io.IOException;


public class File {

public static void main(String[] args) throws IOException {
FileWriter f=null;
try{
f=new FileWriter("smi.txt");
}
catch(IOException e){
System.out.println("erreur");
System.out.println(e.getMessage());
System.exit(0);
}
f.write(65);
f.close();
}

}


et merci d'avance

2 réponses

Messages postés
15060
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 juin 2021
94
Hello,

throws, dans une signature de méthode, te permet d'indiquer que la méthode peut lancer une exception du type déclaré.

Ici, il ne sert à rien car l'exception est catché dans la méthode.

@+ 
Buno, Modo CS-CCM 
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai... 
The urgent is done, the impossible is underway. For miracles, provide for a delay...
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016

merci
ms lorsque je le met pas eclipse m'a indiquer qu'il y a une erreur!!!
Messages postés
15060
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 juin 2021
94 >
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016

Quelle erreur t'indique-t-il ?
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
>
Messages postés
15060
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 juin 2021

il y a deux erreurs l'une dans la ligne f.write(65) et l'autre dans f.close
et il indique qu'il faux "add throws declaration"
Messages postés
15060
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 juin 2021
94 >
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016

Il faut donc que tu encadres tes méthodes write() et close() par un bloc try...catch
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
>
Messages postés
15060
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
11 juin 2021

ok merci beaucoup
Messages postés
16361
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Attention : il faut penser à fermer le fichier même si une exception a été levée. Le plus simple étant de laisser Java gérer ça tout seul.
try (FileWriter f=new FileWriter("smi.txt")) {
    f.write(65);
} catch(IOException e) {
    e.printStackTrace();
}