How to invoke a method which throws an Exception using Java Reflection?

后端 未结 3 1701
终归单人心
终归单人心 2020-12-31 02:37

I would like to invoke a method, using Java Reflection.

The problem is that this method (which I wrote) throws an Exception (I created a myCustomException).

3条回答
  •  误落风尘
    2020-12-31 03:22

    You can get the cause of it that would be the original exception.

    InvocationTargetException.getCause();
    

    From documentation:

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

    http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/InvocationTargetException.html

    In your catch block, you could check if exception is from the type you expect and handle it.

    One simple approach would be:

    try {
       ...
    } catch (InvocationTargetException ite) {
       if (ite.getCause() instanceof SomeExceptionType) {
          ...
       } else {
          ...
       }
    }
    

提交回复
热议问题