Bonjour,
J'ai une application A qui contient une dépendance vers un plugin P(P est référencé dans les fichiers BuildConfig.groovy et application.properties de A)
Le plugin P contient un service serviceP dont les méthodes rejettent parfois des exceptions InvalidQueryException est est écrit de la manière suivante :
Seul problème dans le cas ou le service du plugin P est appelé depuis un objet DomainObjectA de l'application A, l'exception est transformée en une UndeclaredThrowableException qui contient bien la InvalidQueryException!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class ServiceP{ // rejette éventuellement des InvalidQueryException void execute(){ .... } }
La seule solution que j'ai trouvé consiste à réécrire ServiceP de cette manière mais ça ne me satisfait pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class DomainObjectA{ def serviceP // lève une UndeclaredThrowableException à la place d'une InvalidQueryException void appelService(){ serviceP.execute() } }
Il y'a aussi la possibilité de remplacer le gestionnaire d'exception de Grails pour jouer avec le getCause() en cas de UndeclaredThrowableException mais ça me paraît bizarre d'en arriver là...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class ServiceP{ void execute(){ throws Exception .... } }
J'ai loupé un truc, des idées ?
Pour info je suis en Grails 1.3.7 et groovy 1.7.10
Partager