You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2011/11/25 04:01:24 UTC

svn commit: r1206044 - /jmeter/trunk/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java

Author: sebb
Date: Fri Nov 25 03:01:23 2011
New Revision: 1206044

URL: http://svn.apache.org/viewvc?rev=1206044&view=rev
Log:
More detailed failure messages

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java?rev=1206044&r1=1206043&r2=1206044&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/TestBeanHelper.java Fri Nov 25 03:01:23 2011
@@ -165,14 +165,28 @@ public class TestBeanHelper {
         try {
             return method.invoke(invokee, params);
         } catch (IllegalArgumentException e) {
-            log.error("This should never happen. "+invokee.getClass().getName()+" "+method.getName()+" "+params.length+" "+params[0].getClass().getName(), e);
-            throw new Error(e.toString()); // Programming error: bail out.
+            throw new Error(createMessage(invokee, method, params), e);
         } catch (IllegalAccessException e) {
-            log.error("This should never happen.", e);
-            throw new Error(e.toString()); // Programming error: bail out.
+            throw new Error(createMessage(invokee, method, params), e);
         } catch (InvocationTargetException e) {
-            log.error("This should never happen.", e);
-            throw new Error(e.toString()); // Programming error: bail out.
+            throw new Error(createMessage(invokee, method, params), e);
         }
     }
+
+    private static String createMessage(Object invokee, Method method, Object[] params){
+        StringBuilder sb = new StringBuilder();
+        sb.append("This should never happen. Tried to invoke:\n");
+        sb.append(invokee.getClass().getName());
+        sb.append("#");
+        sb.append(method.getName());
+        sb.append("(");
+        for(Object o : params) {
+            sb.append(o.getClass().getSimpleName());
+            sb.append(' ');
+            sb.append(o);
+            sb.append(' ');
+        }
+        sb.append(")");
+        return sb.toString();
+    }
 }