Bonjour,

j'ai 1 petit problème pour afficher 1 message défini par moi-même lors de l'interception d'une exception, avec un bloc try/catch.
En fait le message affiché, est tjs le message défini dans ma sous-classe perso de Exception (classe TropDeVélosException), et ça indépendamment des messages de remplacement définie dans ma classe principale (classe MoteurVelo)

Dans mon programme ci-dessous, il y a 2 possibilités après l'appel de la méthode vérifierCommande(String, double) :

- soit la méthode se déroule sans problème (les conditions du if (modele ="bleu" et qte > 10) ne sont pas remplis, donc on ne passe pas par le catch) et j'affiche après l'appel de méthode, la phrase suivante :
System.out.println("Vous avez commandé : " + Qte + " modèle(s) " + Modele);

- soit la méthode remplit les conditions du if (modèle + qte) et là, normalement, je devrais remplacer mon message que retourne l'exception de la classe TropDeVélosException c'est à dire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
super("Impossible de livrer autant de vélos en une fois.")
par le message dans ma méthode vérifierCommande(string double)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
throw new TropDeVélosException("Vous avez commandé : " + quantité + " modèle(s) " + modèleVélo + " C'est trop !!!!");
sauf que quand je passe effectivement dans mon If modele == bleu && qte >10 mais le message affiché est tjs le message par défaut de l'exception c'est à dire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
super("Impossible de livrer autant de vélos en une fois.")
est-ce que qqn aurait 1 idée pk je ne peux pas définir mon message d'erreur dans mon exception ???

j'espère avoir été assez clair, merci d'avance.



classe MoteurVelo
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
42
43
44
 
public class MoteurVelo implements ActionListener 
{
 
	public void actionPerformed(ActionEvent événement) 
	{
 
	//		on reprend les infos
			String Modele = "test";	
			String Qte = 5;
 
			try
			{
			vérifierCommande(Modele,qte);
			System.out.println("Vous avez commandé : " + Qte + " modèle(s) " + Modele);
			}
 
			catch(TropDeVélosException e) 
			{
				System.out.println(e.getMessage());
			}
 
 
 
 
 
		}
 
 
 
 
 
	void vérifierCommande(String modèleVélo, double quantité) throws TropDeVélosException 
	{
 
		if (modèleVélo.equals("bleu") && quantité > 10)
		{
			throw new TropDeVélosException("Vous avez commandé : " + quantité + " modèle(s) " + modèleVélo + " C'est trop !!!!");
		}
 
	}
 
 
}
classe TropDeVélosException (ma propre classe Exception)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
class TropDeVélosException extends Exception 
{
	// Constructeur
	TropDeVélosException(String message) 
	{
		super("Impossible de livrer autant de vélos en une fois.");
	}
}