runtimeexception异常_应用系统的异常管理-持续更新

Java的异常管理层级关系还是很清晰的。

8d3f36d38e23c085365242bf425cd89b.png

其中,RuntimeException 可能是日常应用系统中出现最多的异常了,一般系统都会继续本系统的业务功能,继承RuntimeException,定义各种业务异常逻辑。

将派生自RuntimeException和Error的异常统称为unchecked异常,一开始蛮奇怪,但是从业务层解析还是可以很有道理的,我的理解是,RuntimeException一般而言是程序本来可以避免的错误,比如引用空指针,下标出错,Class.forName(),这种错误都需要程序自行处理。

如,spring的事务 @Transaction默认是处理RuntimeException和unchecked exceptions时才标识事务回滚;如果在事务中抛出其他类型的异常,但却期望 Spring 能够回滚事务,就需要指定 rollbackFor属性。

PS:Spring建议@Transaction注解在具体的类上使用,如果在接口上实现,除非设置了基于接口的代理,因为注解是不能继承的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值