在method.invoke()中捕获自定义异常

时间:2012-11-01 23:24:32

标签: java exception exception-handling

如果我使用method.invoke来调用抛出自定义异常的方法A.有什么方法可以捕获此异常并在try catch around method.invoke中处理它?我能想到的唯一方法是捕获所有异常并检查异常类型;

try{
 ...
 method.invoke
 ...
} catch (A e) {

}

1 个答案:

答案 0 :(得分:4)

尝试:

try {
    method.invoke
} catch (InvocationTargetException e) {
   Throwable mainException = e.getCause();
   if (mainException instanceof .....) {
   }
}

InvocationTargetException是方法抛出的异常的包装器。

在您的情况下,mainException的类型为 A