[beanutils] BeanMap.put() method should pass the root cause of any
InvocationTargetException that is thrown when invoking the setter
------------------------------------------------------------------------------------------------------------------------------------
Key: BEANUTILS-380
URL: https://issues.apache.org/jira/browse/BEANUTILS-380
Project: Commons BeanUtils
Issue Type: Improvement
Components: Bean / Property Utils
Affects Versions: 1.8.3
Reporter: Brendan Nolan
The following code
{code}
import org.apache.commons.beanutils.BeanMap;
import SetterTest.SetterThrownException;
public class SetterTest {
public static void main(String[] args) {
try {
BeanMap map = new BeanMap(new SetterTest());
map.put("value", "value");
} catch (Exception e) {
e.printStackTrace();
}
}
public void setValue(String value) throws SetterThrownException {
throw new SetterThrownException("I want to see this in the
stacktrace");
}
class SetterThrownException extends Exception
{
public SetterThrownException(String message) {
super(message);
}
}
}
{code}
will return this stacktrace
{code}
java.lang.IllegalArgumentException
at org.apache.commons.beanutils.BeanMap.put(BeanMap.java:438)
at SetterTest.main(SetterTest.java:9)
{code}
I think it should show the root cause of the exception
{code}
java.lang.IllegalArgumentException: java.lang.reflect.InvocationTargetException
at org.apache.commons.beanutils.BeanMap.put(BeanMap.java:438)
at SetterTest.main(SetterTest.java:11)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.commons.beanutils.BeanMap.put(BeanMap.java:431)
... 1 more
Caused by: SetterTest$SetterThrownException: I want to see this in the
stacktrace
at SetterTest.setValue(SetterTest.java:18)
... 6 more
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.