Hermios
Messages postés264Date d'inscriptiondimanche 14 avril 2013StatutMembreDernière intervention23 mai 2014
-
4 août 2011 à 13:12
Hermios
Messages postés264Date d'inscriptiondimanche 14 avril 2013StatutMembreDernière intervention23 mai 2014
-
4 août 2011 à 16:02
Bonjour à tous,
Une question qui peut sans doute sembler basique, mais je n'ai trouvé aucune réponse :
Je dois créer un type d'exception particulier, dont le comportement diffère en fonction de divers paramètres. Comment puis je initialiser cette exception, au début de mon programme, de manière à ne pas avoir, à chaque fois que j'appelle l'exception, à passer mes variables en paramètre d'entrée.
En gros, le programme ressemblerait à ca (C'est juste un exemple, je pense pas que ca marche en vrai):
public exceptionExemple()
{
My Exception myExc=new MyException(var1, var2, var3);
}
Hermios
Messages postés264Date d'inscriptiondimanche 14 avril 2013StatutMembreDernière intervention23 mai 20142 4 août 2011 à 16:02
non ben en fait, j'ai trouvé :
Il suffit de construire ma classe exception MyException comme une classe normale, avec un "extends exception", et un constructeur pour initialiser, et une méthode launchException qui retourne une valeur de type "MyException".
Puis, dans ma classe principale, je crée une instance de MyException, myExcept, que j'initialise via le constructeur. Alors, lorsque je lance un throw, je fais throw myExcept.launchException(), et voilà!
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 4 août 2011 à 13:19
Bonjour,
Comme tu le décris, myExcp n'est pas une classe qui étend exception mais un lanceur uniquement.
Tu peux créer tes classes personnalisées, par contre, je te déconseil ce fonctionnement un peu fantaisiste qui apporte de la confusion au code.
Il est possible de faire fonctionner le code que tu donnes mais je ne peux pas te dire comment, je ne vois pas précisément ce que tu veux faire. Si tu me décris ce qu'il y a dans les variables var1, var2... Je te donnerai une solution.
Hermios
Messages postés264Date d'inscriptiondimanche 14 avril 2013StatutMembreDernière intervention23 mai 20142 4 août 2011 à 14:11
Salut Julien,
En fait si, myExcp est une instance de la classe MyException, qui étend une exception. (J'évite de tout recréer moi même, je suis loin d'être assez bon pour ca!). Le but étant de la lancer malgré tout!
Pour les variables, ben y a du tout en fait : String, boolean etc.
C'est pas que je veux pas les donner, mais elles peuvent varier au fur et à mesure que je développe mon programme, donc je veux faire une exception assez vaste (Et pas essayer de récupérer chaque argument grâce à ses spécificités).