problème avec UndeclaredThrowableException !!! - Java - Programmation
Marsh Posté le 20-04-2007 à 20:38:30
alors plusieurs choses :
- retire le URGENT du titre ou tu vas te faire jetter par les modos
- encadre ton code en mettant [ code = java ] [/ code] (sans les espaces)
ça permet ça qui rend le code bcp plus lisible
Code :
|
Poste aussi le contenu de ta méthode vider, visiblement ça merde
et enfin, jette un coup d'oeil ici : http://java.sun.com/javase/6/docs/ [...] ption.html
et là http://java.sun.com/javase/6/docs/ [...] ang.Object[])
visiblement ta méthode distante lance une exception qui n'est pas reprise par ton proxy
Marsh Posté le 20-04-2007 à 20:20:54
Salut !
Je suis en train de faire un projet sur l'utilisation de Proxy en Java !
Ce projet consiste à gérer une liste distante située sur un serveur web.
L'accès à cette liste se fait via un code java qui utilise un proxy et qui envoie une url paramétrée de la forme http://monServeur.fr/liste.html?nom=liste_001&commande=ajouter&elt=item1.
Cette url servira donc à exécuter la commande/méthode ajouter sur la liste nommée liste_001, pour insérer l'élément item1.
Selon l'architecture du patron (design pattern) "Procuration/Proxy" on nous demande de coder le proxy de façon à filtrer les méthodes à la volée. Soit, on a une liste de méthodes (ex. ajouter(), retirer(), vider(), toString(), taille() ...) qu'on doit examiner à chaque fois qu'une commande/méthode est invoquée dans l'url.
En autre, les noms des méthodes autorisées sont transmis lors de la création du mandataire, celui-ci lèvera une exception du type IllegalAccessException si on tente d'accéder via une méthode non-autorisée.
Voici comment se présente mon programme :
J'ai une classe :
------------------------------------------------------------------
------------------------------------------------------------------
dont la méthode invoke() s'écrit comme suit :
------------------------------------------------------------------
------------------------------------------------------------------
Quand je crée le proxy dans le programme de test de JUnit je mets :
------------------------------------------------------------------
------------------------------------------------------------------
En exécutant le programme, le résultat donne :
Et le Stack Trace donne :
Alors la question que je me pose est la suivante :
Comment est-ce qu'on peut faire en sorte que l'exception propagée soit une instance de la classe IllegalAccessException ? Si l'instance est bonne l'assertion est vérifiée normalement ! Les tests réussissent alors !
Il se trouve que les exceptions ont été traitées correctement (selon moi) ici, mais malheureusement il y en a une qui me cause problème c'est UndeclaredThrowableException ! Quelles solutions existe-t-il pour ce genre de problème ?
Merci d'avance pour votre aide !
Voila !
malinski2006
Message édité par malinski2006 le 20-04-2007 à 20:48:16