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

解决 InvocationTargetException 异常 【代码】解决 InvocationTargetException 异常。 阅读详情

InvocationTargetException来将原来的异常包装起来,通过多加一层间接层的方式来提供统一的访问途径。

Java方法可以静态声明它可能会抛出一组固定的异常类型。而反射API里,Method.invoke() 与 Constructor.newInstance() 这些方法有“双重身份”——它们既代表要调用指定的目标方法,自身也是一个方法;目标方法可能会抛出异常,而它们自身在调用目标方法前也可能会抛出一些异常(例如IllegalArgumentException)。
它们要调用的目标方法可能抛出任意Throwable类的派生类的异常,但它们自身却不能根据要调用的目标而“动态”改变自己声明要抛出的异常类型,而只能静态声明一组可能抛出的异常类型。
声明抛出Throwable或Exception的话,这就太宽泛,难以准确反映异常的原因和意图;但不声明成这么宽泛的异常类型的话又无法完整覆盖所有可能由目标方法抛出的异常。
控制台的打印错误
Method.invoke() / Constructor.newInstance() 的调用者一个统一的接口,既明确了“这个异常是由目标方法抛出的,不是由我自己抛出的”的意图,又能完整覆盖目标方法所能抛出的所有异常类型(InvocationTargetException.getTargetException() / getCause() 的类型是Throwable)。

错误原因:在非静态方法中调用static方法的error   

Java异常处理:InvocationTargetException 需要注意的是,在使用反射调用方法时,如果目标方法本身是私有的或者受保护的,我们需要使用setAccessible方法来设置可访问性。当我们通过反射调用一个方法时,如果目标方法本身抛出了异常,那么调用代码会捕获这个异常并将其封装在InvocationTargetException中。当使用Java的反射机制调用一个方法时,如果目标方法本身抛出了异常,那么反射调用的代码会捕获这个异常,并将其封装在InvocationTargetException中抛出。 阅读详情

相关推荐

VS2010“未能正确加载包”问题解决方法小汇

本文按照由简至繁的顺序详述了借助网络获知的四种解法,主要面向重装 VS2010 后遭遇题述问题的网友,相关包尤指 VSTS、RadLangSvc、Language、Bootstrap 及 MicrosoftDataEntityDesign。

虚有其表的博客 1万+

InvocationTargetException

解决:判断是否为空,为空则进行操作(如赋值)。原因:参数为null,转换类型异常。

khmff的博客 1万+

从GitHub到海浪模拟:手把手教你配置WAVEWATCHⅢ 6.07.0的完整开发与测试环境

本文详细指导如何在Ubuntu系统中配置WAVEWATCHⅢ 6.07.0的开发与测试环境,涵盖虚拟机设置、依赖安装、源码编译及案例验证的全流程。通过步骤化教程,帮助科研人员快速搭建高效的海浪模拟平台,提升海洋数值模拟的研究效率。

weixin_42568801的博客 324

python魔术方法学习

实例方法 1、在定义实例时,会初始化一个实例对象,其第一个参数一般为self,在创建时候将其传给self, 2、实例的方法和属性只能由实例调用 类方法 1、在类定义中,必须用@classmethod装饰器修饰的方法 2、必须至少有一个参数,第一个参数留给了cls,cls指待调用者即类本身 3、cls这个标识符可以是任意合法名称,但是为了易读性,一般写成cls 4、通过cls直接操作类的属性即方法 静态方法 1、在类定义中,必须用@staticmethod装饰器修饰的方法 2、在调用时不用隐形的传入参数,静态

qq_42971895的博客 453

oVirt 4.4.10超详细安装指南:从零搭建企业级虚拟化环境(附常见错误排查)

本文提供了oVirt 4.4.10企业级虚拟化平台的超详细安装指南,涵盖环境规划、系统准备、Engine安装配置、计算节点部署、存储系统集成及高级运维技巧。通过实战操作手册和常见错误排查方法,帮助用户从零搭建稳定高效的虚拟化环境,特别适合企业IT管理员参考实施。

wasm7browser的博客 351

开源DIY | 打造会“听”会“走”的智能移动垃圾桶

本文详细介绍了如何利用Arduino和超声波传感器打造一款会“听”会“走”的智能移动垃圾桶。通过开源硬件和简单编程,实现声控移动和自动避障功能,适合创客爱好者和家庭DIY。项目成本控制在200元内,涵盖硬件搭建、电路连接和核心功能实现,是入门级机器人制作的理想选择。

weixin_33670713的博客 231

已解决:java.lang.reflect.InvocationTargetException 异常的正确解决方法,亲测有效!!!

是一个包装异常,通常在使用反射调用方法时出现。通过正确处理中封装的实际异常,可以有效解决这一问题。本文提供了详细的解决方案和代码示例,帮助开发者理解并解决问题。希望本文对您有所帮助,如有其他问题,欢迎讨论!

猿鹏探码的博客 4万+

STM32F4XX软件模拟I2C实现MPU6050姿态数据采集

本文详细介绍了在STM32F4XX平台上通过软件模拟I2C驱动MPU6050传感器实现姿态数据采集的完整方案。内容涵盖软件I2C的GPIO配置、核心通信函数实现、MPU6050寄存器配置详解以及数据读取处理流程,为硬件资源受限的嵌入式应用提供了灵活的解决方案,并分享了调试技巧与常见问题处理方法。

butter的博客 678

Java反射异常处理之InvocationTargetException

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

岁月静好 34万+

手把手教你学 NPU 驱动开发--第一部分:基础准备 开发环境搭建:Linux 内核编译与 NPU 仿真平台配置

摘要:本文详细介绍了搭建Linux内核编译与NPU仿真平台的完整流程。主要内容包括:1) 准备ARM64交叉编译工具链;2) 编译支持KGDB调试的Linux内核;3) 构建最小根文件系统;4) 使用QEMU模拟自定义NPU设备;5) 配置KGDB调试环境。文章重点讲解了如何通过修改设备树添加虚拟NPU设备,并提供了开源NPUIP Gemmini作为实验对象。最后展示了简单的"Hello NPU"驱动验证方法,为后续NPU驱动开发奠定了基础。文中还附有常用命令速查表,方便开发者快速搭建调

MHD0815的博客 384

华为OD机试双机位C卷-MVP争夺战 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【MVP争夺战】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - MVP争夺战,

qq_45776114的博客 1172

java反射 异常_Java反射异常处理之InvocationTargetException

InvocationTargetException异常由Method.invoke(obj, args...)方法抛出。当被调用的方法的内部抛出了异常而没有被捕获时,将由此异常接收。示例:package com.zzj.test.reflect;public class Reflect {public void run(int i) throws ZeroException {B b = new ...

weixin_34193397的博客 425

prplOS介绍

介绍prplOS是什么,特性、框架、编译等。

四儿家的小祖宗的博客 2124

java 获取反射异常信息_java 反射方法异常处理 InvocationTargetException

项目使用了反射进行方法调用,被调用的方法内抛出自己封装的Exception,外部无法捕捉到自定义Exception,捕捉到InvocationTargetException。java.lang.ClassCastException: java.lang.reflect.InvocationTargetExceptioncannot be cast to com.test.test.exceptio...

weixin_28927031的博客 1054

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

转: Java反射异常处理之InvocationTargetException

转自:http://blog.youkuaiyun.com/zhangzeyuaaa/article/details/39611467             InvocationTargetException异常由Method.invoke(obj, args...)方法抛出。当被调用的方法的内部抛出了异常而没有被捕获时,将由

爱的叹息的专栏 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: Map的四种遍历方法
下一篇: IntelliJ IDEA常用快捷键汇总
liuyinfei_java
博客等级 码龄9年 70粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值