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
Bonjour,

je débute en java et je voudrais savoir tout bêtement à quoi peux servir cette ligne dans un quelconque programme:

throws java.io.IOException


Merci


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
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...
9
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.
2
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
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.

double diviser(double a, double b) throws ArithmeticException
{
    if (b==0)
        throw new ArithmeticException();
    else
        return a/b;
}
0