Exception personnaliées

Fermé
coran20 Messages postés 6 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 31 mai 2011 - 31 mai 2011 à 16:17
 Utilisateur anonyme - 31 mai 2011 à 19:43
Bonjour,
J'ai envie de savoir que fait cette ligne exactement:

int taille = Integer.parseInt(str[0]);


avec str un tableau de String.
Svp aidez moi, je suis débutante en Java.
Merci d'avance.

1 réponse

Utilisateur anonyme
31 mai 2011 à 19:43
Salut,

int taille = Integer.parseInt(str[0]);

L'élément 0 du tableau str (de String) doit contenir une valeur entière correspondant à une taille.

On veut extraire cette taille du tableau en la convertissant de String à int dans la variable taille.

Mais en contrôlant que str[0] contient bien un entier (par exemple 12345).

Une manière sûre de le faire est de détecter les éventuelles exceptions:

Plusieurs cas sont possibles:

-str[0] ne contient que des chiffres 0 à 9 plus l'eventuel signe - ce qui serait étrange pour une taille !
(exemple -1234). Si le signe - existe il doit être en début de chaîne...
Cette valeur ne provoquera pas la levée d'exception.

-str[0] = +1234 provoquerait la levée d'une exception car la valeur est positive par défaut et le signe + ne doit pas figurer (ce serait considéré comme non numérique).

-str[0] = 123x5 (donc non numérique) provoquera pas la levée d'une exception.

-str[0] = 123.50 aussi.

-str[0] = 1234567890123 aussi (valeur hors limites mini/maxi d'un int).

Comment faire:

try
{
int taille = Integer.parseInt(str[0]);
}
catch (NumberFormatException nfe)
            {
               System.out.println(nfe.toString() + " TROP LONG OU NON NUMÉRIQUE");
            }


Cordialement,

Dan


0