Exception personnaliées

coran20 Messages postés 6 Statut Membre -  
 danimo -
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

  1. danimo
     
    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