类上标识了@Transactional(rollbackFor = ServiceException.class) 代码里边还需要try catch吗
时间: 2023-12-05 22:49:23 浏览: 30
根据引用的内容,@Transactional注解只能回滚RuntimeException及其子类抛出的异常,而不能回滚Exception异常。所以,如果在类上标识了@Transactional(rollbackFor = ServiceException.class),而代码里边仍然需要try catch吗?
根据引用的内容,如果需要支持回滚Exception异常,需要使用@Transactional(rollbackFor = Exception.class)。因此,如果在类上标识了@Transactional(rollbackFor = ServiceException.class),意味着事务只会回滚ServiceException及其子类抛出的异常,而对于其他类型的异常,事务将不会回滚。所以,在这种情况下,代码里边还需要try catch来捕获其他类型的异常,以确保事务的正确回滚。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Java异常和@Transactional(rollbackFor=Exception.class)](https://blog.csdn.net/xutong_123/article/details/128246994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [@Transactiona和@Transactional(rollbackFor = Exception.class)区别](https://blog.csdn.net/weixin_55542845/article/details/130409925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]