加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java异常处理之InvocationTargetException(反射异常)

发布时间:2020-12-14 06:24:13 所属栏目:Java 来源:网络整理
导读:InvocationTargetException异常由Method.invoke(obj,args...)方法抛出。 示例: ?? ???? ????????b.run(i);?? }?? ???????? ????????}?? ?? }?? ?? ?? ???????? ?? ???????? }?? 测试: ?? ???????? ?clazz?=?Class.forName( ????????????Method?method?=?cl

InvocationTargetException异常由Method.invoke(obj,args...)方法抛出。

示例:

  • ??
  • ????
  • ????????b.run(i);??
  • }??
  • ????????
  • ????????}??
  • ??
  • }??
  • ??
  • ??
  • ????????
  • ??
  • ????????
  • }??
  • 测试:

    1. ??
    2. ????????
    3. ?clazz?=?Class.forName(
    4. ????????????Method?method?=?clazz.getMethod(
    5. ????????}?
    6. ????????}?
    7. ????????}?
    8. ????????}?
    9. ????????}?
    10. ????????}?
    11. ????????????e.printStackTrace();??
    12. ????????????e.printStackTrace();??
    13. ????}??

    输出:

    1. java.lang.reflect.InvocationTargetException??
    2. ????at?sun.reflect.NativeMethodAccessorImpl.invoke(Unknown?Source)??
    3. ????at?java.lang.reflect.Method.invoke(Unknown?Source)??
    4. Caused?by:?com.zzj.test.reflect.ZeroException:?参数不能小于零!??
    5. ????at?com.zzj.test.reflect.Reflect.run(Reflect.java:6)??

    也可以直接打印目标异常:

    1. ??
    2. ????????
    3. ?clazz?=?Class.forName(
    4. ????????????Method?method?=?clazz.getMethod(
    5. ????????}?
    6. ????????}?
    7. ????????}?
    8. ????????}?
    9. ????????}?
    10. ????????}?
    11. ????????????Throwable?t?=?e.getTargetException();
    12. ????????}?
    13. ????????}??
    14. }??

    输出:

    1. com.zzj.test.reflect.ZeroException:?参数不能小于零!??
    2. ????at?com.zzj.test.reflect.Reflect.run(Reflect.java:6)??
    3. ????at?sun.reflect.NativeMethodAccessorImpl.invoke(Unknown?Source)??
    4. ????at?java.lang.reflect.Method.invoke(Unknown?Source)??

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读