gpt4 book ai didi

java - 检索从反射调用的方法中抛出的 *real* 异常

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:47:25 25 4
gpt4 key购买 nike

假设我在下面声明了一个方法 foo()。

public class Foo
{
public static void foo() {throw new UnsupportedOperationException();}
}

然后我有使用反射调用方法的代码:

Foo.class.getMethod("foo").invoke();

这会抛出 InvocationTargetException,而不是方法中实际抛出的 UnsupportedOperationException

如何使用 Java 的反射检索真正的异常(即 UnsupportedOperationException)?

最佳答案

InvocationTargetException 状态的 javadoc

InvocationTargetException is a checked exception that wraps an exception thrown by an invoked method or constructor.

只需调用 InvocationTargetException#getCause() 即可获取包装的异常(如果您想老派的话,也可以调用 getTargetException())。

关于java - 检索从反射调用的方法中抛出的 *real* 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428842/

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