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 :
	
	super("Impossible de livrer autant de vélos en une fois.")
 par le message dans ma méthode vérifierCommande(string double)
	
	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 :
	
	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
	
	| 12
 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)
	
	| 12
 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.");
	}
} | 
 
						
					
Partager