Checked exception is invalid for this method!异常解决方案

在用mockito来模拟异常的时候,当要抛出自定义的异常,而非RuntimeException等自定义异常时,常常会出现如下错误信息:
Checked exception is invalid for this method!

以前我可以通过 doThrow( CheckedException.class ).when(service).show(anyObject),来绕过这个错误。但是当抛出的异常要携带某些信息时,就不能不给异常传参了,于是就得这么写:
doThrow(new  CheckedException("error") ).when(service).show(anyObject)

接着,你会看到编译通过,但运行时报上面的异常

我们来看下上面异常的意思,大概是说检查到这个异常对这个方法无效。检查了这个方法后,发现这个方法并没有显示声明或抛出这个我们自定义的异常。试着在他的方法名后加上 throw  CheckedException,问题解决。

总结:看来只有方法中明确抛出的异常,mockito才会认为是合理的。虽然不是很明白mockito为什么要管我们抛出的异常类型,先就这么办吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值