我正在通过反射调用一个方法,这会引发异常。
但是,当我通过
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
我没有得到反射方法的整个堆栈跟踪。它只获取堆栈跟踪直到我实现反射的方法。
反射的类完全在一个不同的项目中。
编辑:添加代码片段
项目A
Class ReflectionImpl {
public void callMethodsviaReflection{
try{
// Reflection code to call the method
}catch(InvocationTargetException iTE){
StringBuilder errorLogBuilder = new StringBuilder();
errorLogBuilder.append(ex.toString());
errorLogBuilder.append("\n");
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
for (int i=0;i<elements.length;i++) {
errorLogBuilder.append((elements[i].toString()));
errorLogBuilder.append("\n");
}
System.out.println(errorLogBuilder.toString());
}
}
}
项目 B -->在 Eclipse 中引用项目 A
Class ReflectedClass{
List<String> nameList = null;
public void reflectedMethod(){
nameList.add("Hello");
}
}