InvocationTargetException异常由Method.invoke(obj,args...)方法抛出。
示例:
??
????
????????b.run(i);??
}??
????????
????????}??
??
}??
??
??
????????
??
????????
}??
测试:
- ??
-
-
- ????????
- ?clazz?=?Class.forName(
- ????????????Method?method?=?clazz.getMethod(
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????????e.printStackTrace();??
-
- ????????????e.printStackTrace();??
-
- ????}??
-
输出:
- java.lang.reflect.InvocationTargetException??
-
- ????at?sun.reflect.NativeMethodAccessorImpl.invoke(Unknown?Source)??
-
- ????at?java.lang.reflect.Method.invoke(Unknown?Source)??
-
- Caused?by:?com.zzj.test.reflect.ZeroException:?参数不能小于零!??
-
- ????at?com.zzj.test.reflect.Reflect.run(Reflect.java:6)??
-
也可以直接打印目标异常:
- ??
-
-
- ????????
- ?clazz?=?Class.forName(
- ????????????Method?method?=?clazz.getMethod(
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????}?
-
- ????????????Throwable?t?=?e.getTargetException();
-
- ????????}?
-
- ????????}??
-
- }??
输出:
- com.zzj.test.reflect.ZeroException:?参数不能小于零!??
-
- ????at?com.zzj.test.reflect.Reflect.run(Reflect.java:6)??
-
- ????at?sun.reflect.NativeMethodAccessorImpl.invoke(Unknown?Source)??
-
- ????at?java.lang.reflect.Method.invoke(Unknown?Source)??
-
-
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|