Bonjour,
J'ai un problème de bouclage infini quand j'utilise un try catch pour récupéré une exception levée et la classe Scanner et je ne comprends pas pourquoi. Si quelqu'un pouvait m'expliquer mon erreur ou me dire pourquoi ça boucle à l'infini quand je saisi un caractère ça m'aiderai à mieux comprendre les exceptions.
P.S : Quand je saisi un entier tout fonctionne nickel, sinon dés que je saisi un double ou Une String ça boucle à l'infinie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public int afficher() { Scanner objSaisie = new Scanner(System.in); int choix = 0, cpt = 0; boolean boolErreur; do { if (cpt > 0) { System.out.println("\nSaisissez un nombre entre [1;3]\n"); } try { boolErreur = false; choix = objSaisie.nextInt(); } catch (InputMismatchException e) { boolErreur = true; System.out.println("\nErreur levée "+ e.getMessage() +"\n"); } cpt++; } while (choix < 1 || choix > 3 || boolErreur == true); return choix; }
Merci d'avance pour vos réponses, cordialement Alino.
Partager