java 报调用目标异常
时间: 2023-08-11 20:09:33 浏览: 115
Java 的 "调用目标异常"(InvocationTargetException)通常是由反射机制引起的。当你使用反射 API(如 `Class.forName()`、`Method.invoke()` 等)调用一个方法时,如果这个方法本身抛出了异常,那么反射机制就会将这个异常包装成一个 InvocationTargetException 异常并抛出。
你可以通过调用 `InvocationTargetException` 的 `getCause()` 方法获取原始的异常,并处理它。例如:
```java
try {
Method method = MyClass.class.getMethod("myMethod");
method.invoke(myObject);
} catch (InvocationTargetException e) {
Throwable originalException = e.getCause();
// 处理原始异常
}
```
需要注意的是,如果被调用的方法本身就是抛出 InvocationTargetException 异常,那么需要再调用一次 `getCause()` 才能获取原始的异常。
阅读全文