スタック トレースをループして、これらのメソッドのいずれかに特定の注釈が存在するかどうかを確認しようとしています。次のコードは正しいクラスを初期化しましたが、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();
}
}