IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Bug dans un menu: exception mal attrapée


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut Bug dans un menu: exception mal attrapée
    Bonjour,

    j'ai un souci avec un menu. Je vous mets le code ici:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    class Main {
    	public static void main(String [] args)
    	{
    		int reponse = -1;
    		while (reponse != 3)
    		{
    			Terminal.sautDeLigne();
    			Terminal.ecrireStringln("1:choix 1");
    			Terminal.ecrireStringln("2:choix 2");
    			Terminal.ecrireStringln("3:fin");
    			Terminal.sautDeLigne();
    			try
    			{
    				reponse = Terminal.lireInt();
    				if (reponse < 1 || reponse > 3) throw new ArrayIndexOutOfBoundsException();
    			} catch (ArrayIndexOutOfBoundsException e)
    			{
    				Terminal.ecrireStringln("Mauvaise saisie.");
    			} catch (Exception e2)
    			{
    				Terminal.ecrireStringln("Mauvaise saisie.");
    			}
    			switch (reponse)
    			{
    				case 1: {
    					Terminal.ecrireStringln("Veuillez saisir votre texte.");
    					String phraseLue = Terminal.lireString();
    					AjoutTexte(phraseLue);
    					break;
    				}
    				case 2: { .............
    					      break;
    				}
    				case 3: {
    					Terminal.ecrireStringln("A bientôt");
    					break;
    				}
    			}
    		}
    	}
    }
    Alors, j'obtiens mon chouette menu:

    1: choix 1
    2: choix 2
    3: fin

    Je fais exprès de taper une lettre et j'obtiens:

    Mauvaise saisie.

    Puis je reviens au menu.

    Je tape alors 5 et le même phénomène se reproduit.

    Je joue le jeu et tape 1. Je saisis mon texte, puis je suis renvoyé au menu. Là, je tape une lettre, et j'obtiens:

    Mauvaise saisie.
    Veuillez saisir votre texte.

    Vous l'avez compris, je suis rentré à nouveau dans le menu avec le choix 1, alors que cela n'aurait pas dû se produire.

    Auriez-vous une idée?

    J'ai essayé de mettre default mais ça ne fonctionne pas.

    Merci d'avance!
    Johnny3

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    Le programme fait ce que tu lui as dit de faire... C'est à dire que s'il y a une exception durant Terminal.lireInt(); la valeur de response précédente sera conservée. Dans ton cas, elle est resté à 1 ce qui est normal.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Par défaut
    Citation Envoyé par darkxan Voir le message
    Le programme fait ce que tu lui as dit de faire... C'est à dire que s'il y a une exception durant Terminal.lireInt(); la valeur de response précédente sera conservée. Dans ton cas, elle est resté à 1 ce qui est normal.
    Merci! Il fallait donc réinitialiser réponse à -1! Ca a marché, merci beaucoup!

    Johnny3

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Image mal positionnée dans le menu
    Par cedric/copy dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 12/02/2009, 16h12
  2. [XHTML] bug XHTML STRICT dans mon menu
    Par dembroski dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/08/2007, 17h19
  3. Réponses: 11
    Dernier message: 28/02/2007, 12h18
  4. CustomDraw dans un menu: TCanvas ????
    Par Invité dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/02/2003, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo