扫码关注官方订阅号
在一个service里依次调用另外两个serivce方法,出错了会事务回退吗
大概是下面的这种情况
//service A本身没有对DAO的处理,但是B和C就有对DAO的处理 service A { service B.someMethod()//调用service B service C.someMmethod()//调用service C }
//如果B先出错了,那么B会事务回退,也不会去执行C了,但是,如果B成功了,C出错了,会把B的事务给回退了吗?请大神们赐教。。谢谢阅读
光阴似箭催人老,日月如移越少年。
1、只要抛出的是 checked异常,不管有没有捕获,都不会回滚2、如果C抛出了runtime 异常,A捕获了,则B不会回滚;如果A没有捕获,则回滚。
自己测试一下嘛,强制C出错。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
1、只要抛出的是 checked异常,不管有没有捕获,都不会回滚
2、如果C抛出了runtime 异常,A捕获了,则B不会回滚;如果A没有捕获,则回滚。
自己测试一下嘛,强制C出错。