Throws [Résolu]

Signaler
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
-
SMMM@
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
14709
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2020
90
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...
SMMM@
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!!!
BunoCS
Messages postés
14709
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2020
90 > SMMM@
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 ?
SMMM@
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
> BunoCS
Messages postés
14709
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2020

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"
BunoCS
Messages postés
14709
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2020
90 > SMMM@
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
SMMM@
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
> BunoCS
Messages postés
14709
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
20 janvier 2020

ok merci beaucoup
Messages postés
16101
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
20 janvier 2020
88
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();
}