GLG203:TP01 Exceptions [RESOLU]

Modérateurs : graffion, jmdouin, agoncal, mlebihan

Répondre
fazil
Messages : 31
Inscription : 09 oct. 2016 21:28

GLG203:TP01 Exceptions [RESOLU]

Message par fazil » 09 oct. 2016 22:49

Bonjour,

Après avoir dézippé et créer un nouveau projet dans Eclipse, je run les 8 tests via AllTests.java
et les passe avec succès. je repasse en ligne de commande pour générer le TP01.html via
les 3 commandes:ant check, ant yaps-test, ant yaps-mark.
Le fichier est généré mais quand je l'ouvre je découvre le message:

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.Customer.checkData()V

Cette méthode est pourtant bien présente dans mon fichier source.
Après une recherche Google, l'erreur pourrait provenir du fait que la jvm utilise un ancien fichier .class
j'ai donc effectué un ant yaps-clean et rien n'y fait!
Quelqu'un a-t-il eu le même problème ou connaît-il la solution?

Merci
Dernière édition par fazil le 12 oct. 2016 18:48, édité 1 fois.

graffion
Messages : 615
Inscription : 21 juin 2005 14:05

Re: GLG203:TP01 Exceptions

Message par graffion » 09 oct. 2016 23:14

Bonjour,

Quelle est la signature de votre méthode checkData()?

fazil
Messages : 31
Inscription : 09 oct. 2016 21:28

Re: GLG203:TP01 Exceptions

Message par fazil » 09 oct. 2016 23:21

public boolean checkData() throws CustomerCheckException;

fazil
Messages : 31
Inscription : 09 oct. 2016 21:28

Re: GLG203:TP01 Exceptions

Message par fazil » 09 oct. 2016 23:52

j'ai changé la signature en void et la ça marche!
Merci

mj001
Messages : 4
Inscription : 10 oct. 2016 1:38

Re: GLG203:TP01 Exceptions

Message par mj001 » 10 oct. 2016 1:46

Bonsoir j'ai le même problème que vous :

- Avec la signature (public void checkData() throws CustomerCheckException)
yaps-mark et yaps-test me donne : java.lang.NoSuchMethodError: com.yaps.petstore.Customer.checkData()Z

- Avec la signature (public boolean checkData() throws CustomerCheckException)
yaps-test OK mais yaps-mark me donne :java.lang.NoSuchMethodError: com.yaps.petstore.Customer.checkData()V

sachant que impossible de déclarer la fonction en double une fois void et une fois boolean, je ne vois pas de solution

Avez vous une idée ?

Merci

POUZOL
Messages : 16
Inscription : 30 sept. 2015 16:37

Re: GLG203:TP01 Exceptions

Message par POUZOL » 10 oct. 2016 11:04

Bonjour,

La signature
public boolean checkData()
apparu dans le TP00 est dans l'esprit du langage C qui consiste à avoir un code retour pour une fonction.
Ce code retour qui peut prendre plusieurs valeurs (ici 2, true et false) indique comment s'est terminée la fonction.

Au TP01, on passe à une méthode dans l'esprit du Java, donc on introduit les exceptions qui vont prendre en compte toutes les exécutions anormales.
C'est donc la signature
public void checkData() throws CustomerCheckException
qu'il faut privilégier.

Il y a sans doute une autre erreur qui te cause ce type de souci. J'ai noté que parfois Eclipse est un peu sensible.
Le fait d'en sortir et d'y revenir permet parfois de corriger de façon inexplicable et surprenante une erreur qu'il signale en direct.

Bruno

mj001
Messages : 4
Inscription : 10 oct. 2016 1:38

Re: GLG203:TP01 Exceptions

Message par mj001 » 10 oct. 2016 11:34

Merci pour votre réponse,

Mon problème est avec les lignes de commandes ant yaps-test et ant yaps-mark (avec eclipse tout marche sans problème)

La signature

Code : Tout sélectionner

public void checkData() throws CustomerCheckException
Me remonte des erreurs java.lang.NoSuchMethodError: com.yaps.petstore.Customer.checkData()Z

MJ

fazil
Messages : 31
Inscription : 09 oct. 2016 21:28

Re: GLG203:TP01 Exceptions

Message par fazil » 10 oct. 2016 14:39

Avez-vous essayé de rebuild les .class avec la commande:ant yaps-clean?

mj001
Messages : 4
Inscription : 10 oct. 2016 1:38

Re: GLG203:TP01 Exceptions

Message par mj001 » 10 oct. 2016 16:58

Oui ca marche mieux avec yaps-clean merci

nico2016
Messages : 1
Inscription : 10 oct. 2016 23:51

Re: GLG203:TP01 Exceptions

Message par nico2016 » 10 oct. 2016 23:59

Bonsoir ; quelqu'un peut me dire ou se trouve la class customer.java
merci

POUZOL
Messages : 16
Inscription : 30 sept. 2015 16:37

Re: GLG203:TP01 Exceptions

Message par POUZOL » 12 oct. 2016 0:07

Bonjour,

Tu aurais du ouvrir une nouvelle discussion.
La philosophie de la suite des TP de GLG203 est réutilisation, adaptation et raffinement (au sens de stepwise refinement de N Wirth).
Donc cherche bien où cette classe a déjà été rencontrée.
Ensuite, une fois récupérée, cette classe convient-elle aux nouvelles spécifications (se reporter plus haut dans la discussion)

Bruno

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité