gpt4 book ai didi

Java - 循环堆栈跟踪并获取类和方法实例?

转载 作者:行者123 更新时间:2023-12-01 18:42:30 27 4
gpt4 key购买 nike

我正在尝试循环堆栈跟踪并检查这些方法中是否存在特定注释。以下代码初始化了正确的类,但是当我调用 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();
}
}

最佳答案

可能是您在 StackTraceElement 上调用 getClass() ,它返回... StackTraceElement 而不是堆栈跟踪元素表示的执行点的类。

StackTraceElement 提供了一个 getClassName() 方法,您可以使用该方法。

关于Java - 循环堆栈跟踪并获取类和方法实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19352549/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com