gpt4 book ai didi

java - 了解 Java 中的调用目标异常包装

转载 作者:行者123 更新时间:2023-12-01 11:25:36 25 4
gpt4 key购买 nike

m 是一个方法,我想通过反射在特定实例上调用它。以下代码显示了我如何进行调用:

try {
m.invoke(classInstance);
} catch (OOPAssertionError e) {

} catch (Exception e) {
system.out(e.getCause().getClass().getName());
}

现在,当我调用之前尝试调用的特定方法(即前面代码中的 m)时,实例应该抛出以下类:

public class OOPAssertionError extends AssertionError {
}

我以为程序会捕获 OOPAssertionError 但实际上它捕获的是 Exception 。并打印以下行:“package.OOPAssertionError”。

为什么会发生这种情况?

最佳答案

InitationTargetException 包装方法的异常,就像 javadoc 中编写的那样。

参见What could cause java.lang.reflect.InvocationTargetException?了解更多详情。

祝你反射(reflection)顺利! ;)

关于java - 了解 Java 中的调用目标异常包装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30830339/

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