我正在尝试遍历堆栈跟踪并检查这些方法中是否存在特定注释。下面的代码初始化了正确的类,但是当我调用 getMethodName 时,我得到了 NoSuchMethodException。知道为什么会抛出这个异常吗?
StackTraceElement[] stackTraceElements = Thread.currentThread()
.getStackTrace();
for (StackTraceElement element : stackTraceElements) {
try {
Class<?> clazz = Class.forName(element.getClassName());
Method method = element.getClass().getDeclaredMethod(element.getMethodName());
cache = method.getAnnotation(Cache.class);
break;
}
catch (Exception e) {
e.printStackTrace();
}
}