检索从反射调用的方法引发的* real *异常

一二三

说我有一个下面声明的方法foo()。

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

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

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

这将抛出该方法,InvocationTargetException而不是UnsupportedOperationException实际抛出的方法。

如何通过Java的反射来检索真正的异常(即UnsupportedOperationException)?

Sotirios Delimanolis

InvocationTargetException状态的Javadoc

InvocationTargetException是一个已检查的异常,它包装了由调用的方法或构造函数引发的异常。

只需调用InvocationTargetException#getCause()即可获取包装的异常(或者getTargetException()如果您想成为老式的)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调用方法后的Java反射,该方法未引发异常

来自分类Dev

反射性地调用引发异常的构造函数

来自分类Dev

KDB Real类型的异常行为

来自分类Dev

SOAPConnection调用引发异常

来自分类Dev

异步方法引发异常

来自分类Dev

C#-通过反射调用(SetValue())时,无法捕获在属性设置器中引发的异常

来自分类Dev

调用getFriends时引发异常

来自分类Dev

不会在“ try”块中引发异常的调用方法

来自分类Dev

在其他类中引发异常的调用方法

来自分类Dev

如何验证是否为引发异常的类调用了方法

来自分类Dev

通过动态类型调用C#方法引发异常

来自分类Dev

通过反射将子类类型传递给Java泛型方法不会引发异常

来自分类Dev

检索ToolStripButton事件将引发异常

来自分类Dev

异常处理:引发什么异常

来自分类Dev

处理异常时引发异常

来自分类Dev

在ActionResult方法中引发异常

来自分类Dev

引发新异常的扩展方法

来自分类Dev

错误的方法调用异常

来自分类Dev

错误的方法调用异常

来自分类Dev

在类方法中引发副作用并在调用方法中捕获的模拟异常给出“未引发”

来自分类Dev

Xamarin中的调用目标已引发异常

来自分类Dev

datagrid错误:调用的目标已引发异常

来自分类Dev

反射PropertyInfo.GetValue(object)引发DBNull异常

来自分类Dev

模拟属性获取器使用反射引发异常

来自分类Dev

找不到反射类,但不会引发异常

来自分类Dev

C#反射异常找不到方法

来自分类Dev

Paho MQTT引发异常

来自分类Dev

测试引发异常的函数

来自分类Dev

春季开始引发异常