2 réponses
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.
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;
}