Throws java.io.IOException
Fermé
anthony
-
11 sept. 2011 à 18:05
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 11 sept. 2011 à 19:18
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 11 sept. 2011 à 19:18
2 réponses
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
11 sept. 2011 à 18:45
11 sept. 2011 à 18:45
Cette ligne ne se met pas n'importe où déjà, uniquement dans la déclaration d'une méthode, cela signifie que cette méthode peut provoquer une IOException mais qu'on ne la gère pas avec try catch, charge donc à la méthode appelante de la gérer.
Exemple : dans mon programme j'ouvre le fichier toto.txt mais il n'existe pas. Le programme va donc générer une exception, soit je récupère l'exception pour gérer le cas où le fichier n'existe pas, soit le programme plante...
Exemple : dans mon programme j'ouvre le fichier toto.txt mais il n'existe pas. Le programme va donc générer une exception, soit je récupère l'exception pour gérer le cas où le fichier n'existe pas, soit le programme plante...
Ok donc est-ce que je peux m'en servir dans un programme dans lequel je demande à l'utilisateur de rentrer uniquement des nombres afin d'effectuer un calcul ? Par exemple: l'utilisateur se trompe et tape une lettre ("c" par exemple) alors que la variable définie est de type double.
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
11 sept. 2011 à 19:18
11 sept. 2011 à 19:18
Le principe est le même mais l'exception sera différente, ce sera NumberFormatException que tu pourras par exemple obtenir en faisant Double.parseDouble(String)
Remarque : il ne faut pas confondre throws (avec un S) qui indique à une méthode qu'elle doit laisser passer l'exception, et throw (sans S) qui créé une nouvelle exception.
Exemple : voici comment est géré la division par zéro en Java.
Remarque : il ne faut pas confondre throws (avec un S) qui indique à une méthode qu'elle doit laisser passer l'exception, et throw (sans S) qui créé une nouvelle exception.
Exemple : voici comment est géré la division par zéro en Java.
double diviser(double a, double b) throws ArithmeticException { if (b==0) throw new ArithmeticException(); else return a/b; }