Remontée d'erreurs par les méthodes JAVA [Résolu]

Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
22 février 2006
- - Dernière réponse : Gwillherm
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
22 février 2006
- 18 janv. 2006 à 09:34
Bonjour à tous...
j'aimerai savoir quelle est la meilleur méthode à utiliser pour remontée des erreurs avec les méthodes java que je code.

J'ai une méthode java qui a accepte plusieurs paramètres en argument qui vont ensuite me permettre de construire une trame pour un protocole de communication, mais j'aimerai pouvoir signaler (et même avertir) qu'un paramètre passé est faux.
Jusqu'à présent j'utilisais le mécanisme des exceptions mais je ne suis pas sur que ce soit approprié...

Gwillherm
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Dernière intervention
23 décembre 2008
17
3
Merci
Non les exceptions servent à indiquer les erreurs internes (mauvaises programmations) commer les erreurs externes (fichier introuvable). De ce fait, si tu veux faire une exeption indiquant qu'un de tes arguments est faux, tu peux faire :
if(error){throw new IllegalArgumentException(); }

voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de indiana_jules
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Dernière intervention
23 décembre 2008
17
3
Merci
En fait, ce qu'il a voulu dire, c'est que tu crées une exception particuliére avec un message personnalisé, du style :


public void MaDivision(int a, int b) {
if(a<0) {
throw new MauvaisArgumentMaDivision("Premier argument faux");
}
...
}

Voilà, mais ta méthode de renvoyer un code d'erreur est tout aussi valable

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de indiana_jules
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Dernière intervention
8 mars 2011
11
0
Merci
a mon avis c est tout a fait approprié, les exception servent justement a ca
Commenter la réponse de super_toinou
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
22 février 2006
0
Merci
OK, mais en fait je pensais que les exceptions servaient à remonter des erreurs plus graves...
j'ai bien fouillé toutes des docs java que j'avais et je voulais confirmer ce que je croyais avoir compri :)

Merci de ta réponse rapide
Commenter la réponse de Gwillherm
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Dernière intervention
8 mars 2011
11
0
Merci
je me permet de rajouter également que
tu peux créer tes propres erreures et les attraper a la sortie de ta méthode comme ca tu peux faire le traitement approprié
et les erreures plus graves t es pas obligé de les attraper comme ca ton appli pourra crasher pour de vraies raisons ;)
Commenter la réponse de super_toinou
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
22 février 2006
0
Merci
"tu peux créer tes propres erreures et les attraper a la sortie de ta méthode comme ca tu peux faire le traitement approprié" ->
quand tu dis cela, veux tu entendre par la que je retourne un code d'erreur en sortie de ma méthode ???

C'est ce que j'avais utilisé comme technique au départ :

si erreur sur argument_1 alors retourne valeur 127 (par exemple),
si erreur sur argument_2 alors retourne valeur 126... etc....

mais après étude de la doc java j'ai cru comprendre que ce système là appartenais plus au C++ qu'au JAVA....

Merci de vos réponses
Commenter la réponse de Gwillherm
Messages postés
24
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
22 février 2006
0
Merci
Merci pour toutes ces info qui levent un flou "artistique" sur ma compréhension des remontées d'erreurs en JAVA
Voici ce que ça donne en utilisant la méthodes des Exceptions :

public static byte[] readDiscretInputs(int st_add, int nb_inputs)throws ModbusException{

/* variables declaration */
byte[] tramePDU = new byte[5];

/* test of the parameters and filling of the array tramePDU */
if ((st_add < MIN_ADDRESS)||(st_add > MAX_ADDRESS)){

/* st_add parameter error */
throw new ModbusException("No valid address !");

}
else if ((nb_inputs < MIN_INPUTS)||(nb_inputs > MAX_INPUTS)){

/* nb_inputs parameter error */
throw new ModbusException("No valid number of inputs !");
}
else{

/* variables declaration */
short intermediateValue;

/* filling of the array tramePDU */
tramePDU[0] = READ_DISCRET_INPUTS; //function code
intermediateValue = (short)st_add;
intermediateValue >>= 8;
tramePDU[1] = (byte)(intermediateValue & MASK);
tramePDU[2] = (byte)(st_add & MASK);
intermediateValue = (short)nb_inputs;
intermediateValue >>= 8;
tramePDU[3] = (byte)(intermediateValue & MASK);
tramePDU[4] = (byte)(nb_inputs & MASK);

}

return tramePDU;
}

Gwillherm
Commenter la réponse de Gwillherm

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.