Java之Exception

本文详细介绍了Java中的Exception类型及其在Spring AOP事务管理中的作用,解释了unchecked exception如何自动触发回滚,而checked exception则需要手动配置回滚异常。并分享了实际操作中的经验与技巧。

在用Spring 的AOP进行事务管理的时候,碰到了一些关于Exception才回滚的问题。通过网上搜索资料总算明白了,跟网友分享一下。


先介绍一下Exception:

在Java中Exception大概分成3类:

(1)Error级别的错误,一般是系统级的错误,例如:内存溢出、硬件错误等,在应用中无法处理,程序遇到该异常会立即停止。

(2)unchecked exception:一般是Runtime Exception,就是在程序运行的时候才知道的错误,在编译的时候不会出问题。除非手工捕获异常,否则程序立即停止。

(3)checked exception:是程序员自愿抛出的异常,必须捕获或者抛出,在编译的时候会提示。程序遇到该异常不会立即停止,会在捕获异常之后继续运行。


再介绍Spring AOP:

Spring AOP也就是常说的切面编程,内部原理就是代理模式。通过网上搜索会有很对代理模式的介绍,这里不作说明。使用Spring AOP的事物管理的时候,会对出现异常的地方自动进行回滚。对于unchecked exception会自动触发回滚;对于checked exception如果直接捕获了,并没有抛出则不会触发回滚。如果抛出了checked exception,需要手工配置回滚的异常,在事物管理属性中通过rollback-for配置。


若有不足之处望大家指点!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shadon178

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值