Problème pour capturer une exception

Résolu
MrLoveDaddy Messages postés 3 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010 - 7 mai 2010 à 00:32
MrLoveDaddy Messages postés 3 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010 - 7 mai 2010 à 10:47
Bonjour tout le monde,

Décidémment j'ai un petit problème, je n'arrive pas à capturer une exception pourtant toute simple.
Soit une classe abonné. Un abonné a un prénom et un nom : Abonne(prénom,nom)
Je veux que le programme me retourne une exception lorsque j'ajoute un abonné avec le prénom "toto".

Lorsque je tape ceci tout se passe bien , l'exception est capturée :

Abonne b = new Abonne ("toto","tata");

Par contre dès que je demande à l'utilisateur de rentrer le nom "toto", alors rien ne va plus et l'abonné est accepté avec son nom "toto", l'exception n'existe pas !!

Abonne b ;
Scanner sc = new Scanner (System.in);
String b = sc.next();
try {
b=new Abonne (b,"lolo");
} catch (NomAbonneException e) {

e.printStackTrace();
}


Désolé si c'est une erreur de débutant.
Merci d'avance.

3 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
7 mai 2010 à 09:54
Salut,

Regarde ton test sur "toto". Je soupçonne l'utilisation de l'opérateur ==.
Dans ce cas le compilateur va considérer comme identiques deux chaînes "toto" en dur dans le code car elles pointent sur le même objet, en revanche la chaîne saisie par l'utilisateur est bien sûr un objet différent. Il faut utiliser la méthode equals dans ton cas, et dans le doute en général.

Jonathan
3
MrLoveDaddy Messages postés 3 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010
7 mai 2010 à 09:20
Correction, j'utilise une variable a pour enregistrer ma saisie clavier.
0
MrLoveDaddy Messages postés 3 Date d'inscription vendredi 7 mai 2010 Statut Membre Dernière intervention 7 mai 2010
7 mai 2010 à 10:47
Tes soupçons étaient fondés :).
Merci beaucoup pour ton aide.
0
Rejoignez-nous