probleme de try catch

probleme de try catch - Java - Programmation

Marsh Posté le 14-03-2005 à 10:55:15    

bonjour
 
j'ai un soucis sur le traitement d'une exception que je ne comprends pas:
 
voici la methode susceptible de lever une exception:
 
public void creationSousApplication(){
     
     
     String nbSousApplication = JOptionPane.showInputDialog("combien de sous applications? " );
     
     int nbAppli=0;
     
 try{
   nbAppli = Integer.parseInt(nbSousApplication);
 }catch(Exception e){
         JOptionPane.showMessageDialog(this, "Veuillez saisir un nombre" );
  creationSousApplication();
 }
 
...
}//fin de la classe
 
 
en gros je demande a l'utilisateur de
- saisir un chiffre via une inputbox
- si la string a un probleme de conversion en entier, alors ce ne sont pas des chiffres qui ont ete saisi -> levee d'une exception
 
alors effectivement, l'exception est levee sur mauvaise saisie:
-affiche le JOptionPane et reappelle la methode
 
MAIS:
-s'execute 2 fois dans la pile d'execution!
du coup je me retrouve avec 2 affichage par la suite!-> la premiere qui a ratee s'execute normalement, et la nouvelle methode s'execute aussi, ce qui me donne par consequent un double affichage!
 
quelqu'un saurais comment recuperer correctement l'exception generee pour la traiter correctement?


Message édité par kungouf le 14-03-2005 à 11:13:08
Reply

Marsh Posté le 14-03-2005 à 10:55:15   

Reply

Marsh Posté le 14-03-2005 à 11:59:17    

kungouf a écrit :


-s'execute 2 fois dans la pile d'execution!


euh ça t'etonne vraiment? :/
et si tu te trompes une 2e fois, ça va appeler ta methode une 3e fois [:joce]
bref...
en jdk1.4 me semble qu'il y a un truc tout simple à utiliser pour valider une entrée.
j'ai pas solution propre en tete pour ton truc; en gros tu peux boucler tant que t'as pas une valeur correcte, par exemple... :/


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-03-2005 à 12:10:32    

kungouf a écrit :

bonjour
 
[...]
quelqu'un saurais comment recuperer correctement l'exception generee pour la traiter correctement?


l'exception levée est NumberFormatException
 
sinon je crois que tu gère mal l'exception. pourquoi rappeler ta méthode au lieu de seulement boucler sur l'affichage de ta boite de dialogue comme le disait the real -- ?

Reply

Marsh Posté le 14-03-2005 à 12:21:58    

kungouf a écrit :

bonjour
en gros je demande a l'utilisateur de
- saisir un chiffre via une inputbox
- si la string a un probleme de conversion en entier, alors ce ne sont pas des chiffres qui ont ete saisi -> levee d'une exception
 


 
Utilise un JFormattedTextField :
 

Code :
  1. JFormattedTextField numberField = new JFormattedTextField(new Integer(1));


 
Comme ça tu n'auras pas de problème de conversion, seuls les Integer seront acceptés.

Reply

Marsh Posté le 14-03-2005 à 12:27:09    

ah ouais c pas mal dans ce cas là :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed