![]() |
Question 10 |
Je veux stocker ce que saisit l'utilisateur à partir de son clavier dans une
variable.
J'ai fait le code suivant mais ça ne marche pas :
System.out.println("Sasissez qq chose "); BufferedReader br=new BufferedReader( new InputStreamReader(System.in)); String S; S=br.readLine(); System.out.println(S); br.close();
et voici ce que me donne le compilateur :
test.java:9: unreported exception java.io.IOException; must be caught or
declared to be thrown
S=br.readLine();
^
test.java:11: unreported exception java.io.IOException; must be caught or
declared to be thrown
br.close();
^
2 errors
Le problème vient de la gestion des exceptions liées à l'utilisation de la classe BufferedReader. Les opérations de lecture ou d'écriture dans les flots d'octets sont considérées comme sources potentielles d'erreurs. Celles-ci doivent être traitées avec un bloc try {...} catch (..) {...}.
Le programme corrigé donne :
System.out.println("Sasissez qq chose "); try { BufferedReader br=new BufferedReader( new InputStreamReader(System.in)); String S; S=br.readLine(); System.out.println(S); br.close(); } catch (IOException ioe) { System.out.println(ioe.toString()); }