ah punaise j'avais pas lu. J'avais pas capté que ct un code d'erreur :eek2: :eek2: :eek2:
Tu programmais en C toi avant ca se voit :D
benou
si il y a une erreur dans l'execution d'une méthode, il faut générer une exception.
ca se fait comme ca :
Citation :
public void taMethode() throws Exception {
...
if (testdeLErreur) {
throw new Exception("message décrivant l'erreur" ); }
...
}
Le "throws" permet de déclarer que ta fonction peut générer des exception. le "throw new ..." lance une exception.
Il faut ensuite que tu gère ca au niveau de l'appel de la méthode :
...
Citation :
try {
taMethode();
} catch (Execption e) {
// ici tu fais ton traitement d'exception
}
...
le bloc "try" veut dire "on va essayer d'executer ces instructions". Lorsqu'un de ces instructions déclenche une exception, l'execution du bloc try est arrêtée. Le catch essaye alors de rattrapper l'excpetion qui a été lancée. Si l'exeception déclarée dans le catch est compatible avec l'exception lancée, l'exception est rattrapée et le traitement situé dans ce bloc catch est executé. (il peut y avoir plusieurs bloc catch rattrappant plusieurs exceptions différentes.
Si le bloc try a été correctement executé (sans lancement d'exception), l'execution du programme continue normalement à la suite des blocs catch (aucun des blocs catch ne sera executé).
voila. ca c'était pour des explications de base sur les exceptions. Si tu veux plus de détail va voir "penser en java" (lien dans ma signature).
Mais bon, en Java, oublie les code d'erreur ! les exceptions sont faites pour ca !
[edtdd]--Message édité par benou--[/edtdd]
darklord22
balance le code de tes fonctions pour qu'on puisse t'aider mieux
nicmic
Euh, si, le booleen retourne (pas celui dont je parlait pour le mettre en parametre, mais celui que la fonction retourne deja), c'est pour voir si ca c'est bien passé...
Pourquoi, y faut pas faire ca en Java? :ange: Je sais que c'est pas tres tres propre, mais il est tard, et je chercherai une solution propre demain... :sleep:
benou
bizare quand même ...
à première vu, ca me semble pas très propre tu peux pas séparer ca en 2 fonctions ? ou rajouter le booléen dans l'objet que tu retournes ?
C'est pas pour retourner une valeur d'erreur au moins (true si ca s'est bien passé, false sinon) ???
je dis ca parce que ca pourrait être le reflexe d'un programmeur C qui se met au Java ...
nicmic
Oui, mais la fonction retourne déjà quelque chose d'autre.
Donc à part une classe qui a juste un booléen , je ne vois pas...
Merci pour ton aide précieuse ;) :hello:
benou
C'est une méthode qui va modifier un booléen passé en paramètre ???? :??:
bizarre ... pkoi tu fais pas une méthode qui retourne un booléen ? (et tu affecteras ensuite la valeur dans l'objet que tu veux)
Et puis je t'avouerai que je ne me suis JAMAIS servi de la classe BOOLEAN : autant utiliser le type primitif boolean...
faire un objet pour stocker uniquement un booléen ca a pas beaucoup d'intérêt ...
nicmic
Merci beaucoup Benou,
T'inquiètes pas tu as été clair. Mais comme j'ai besoin de passé un Booléen en paramètre d'une fonction je crois que je vais créer ma propre classe comme tu le dis. (Pourquoi j'y ai pas pensé? lol :gun: )
benou
normal : c'est un concept objet.
Il n'existe que 2 instances possibles pour un "objet" booléen. une instance qui sera VRAI et une AUTRE qui sera FAUSSE. En "objet", ca n'aurait aucune signification de vouloir changer la valeur de VRAI pour lui donner une valeur qui est celle de FAUSSE.
je suis pas sur d'avoir été très clair. On va prendre un exemple naturel : la classe Voiture.
Dans la nature, ca n'a aucun sens de dire "je donne à ma Clio la même valeur que la Mercedes de mon voisin". 'C'est à dire en notation java maClio.setValue(mercedesDuVoisin.getValue())
Les 2 voitures sont des entités différentes et tu ne peut pas en affecter les caractéristiques de l'une à une autre...
Ben en "objet" c'est pareil.
Remarque : c'est pareil pour la classe Integer : il n'y a pas de méthode setIntValue().
t'as compris ??? (je suis tjs pas sur d'avoir été clair ;))
remarque : tu peux très facilement te créer une classe Booleen qui se comporte comme tu le souhaites : un objet pouvant contenir une valeur vrai ou fausse
nicmic
Bonjour :hello: ,
Comment peut t'on modifier la valuer booléenne d'un objet de ce type? J'ai regardé dans la doc et il n'y a que des méthodes de lecture ( et pas d'altération...)
Merci :bounce: