如何使用Java反射调用引发异常的方法?
2022-09-02 12:02:57
我想调用一个使用Java Reflection的方法。
问题是这种方法(我写的)会引发一个异常(我创建了一个myCustomException)。当我添加 try/catch 子句时,我无法运行我的项目,因为 Eclipse 说“catch 子句无法访问”。
以下是我尝试在类MyClass中调用myMethod时:
270. myMethod.invoke(null, myParam); // NB : null because myMethod is static
当myMethod没有抛出MyCustomException时,一切都很好。但是当它抛出一个MyCustomException时,我收到这个错误消息:
假设我尝试调用 fooMethod(),它位于 BarClass() 类中,并且:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.tests.MyClass.test5(270)
at com.tests.MyClass.main(297)
Caused by: com.tests.MyCustomException
at com.tests.barClass.fooMethod(BarClass.java:129)
... 6 more
有可能吗?无论如何,感谢您的帮助。