https://bz.apache.org/bugzilla/show_bug.cgi?id=57855
--- Comment #7 from Christian Strebel <christian.stre...@ivyteam.ch> --- (In reply to Konstantin Kolinko from comment #5) > I think MethodExpression.invoke() shall wrap IllegalArgumentException into > an ELException. > > > It is documented that java.lang.reflect.Method.invoke() throws > IllegalArgumentException when "if the number of actual and formal parameters > differ" [2]. > > I think that our code should work as if that exception were thrown by > Method.invoke(). From MethodExpression.invoke() [1] I think that an > exception that is received from a Method.invoke() has to be wrapped with an > ELException. > > Essentially this means to move "values = convertArgs(values, m);" call into > try/catch block that is around "result = m.invoke(t.base, values);" call. > (lines 274 278 of AstValue.java of Tomcat 7 r1676234). The problem is, the "bad" PrimeFaces AjaxBehaviorListenerImpl implementation is then broken again. Also I do not like wrapping a specific RuntimeException into an unspecific RuntimeExcpetion without additional information. But on the other hand you are right there is already a wrapping if an IllegalAccessException or an IllegalArgumentException is thrown by Method.invoke(). I also do not really like this wrapping. The Sun/Glassfish implementation does not wrap the runtime exceptions thrown by Method.invoke() as well. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org