Java 一段方法里面抛出异常不让事务回滚
时间: 2023-06-13 16:05:18 浏览: 162
java 抛出异常处理的方法
5星 · 资源好评率100%
在 Java 中,如果在一个被 @Transactional 注解标记的方法中抛出异常,事务会自动回滚,这是默认的行为。如果你想在方法中抛出异常但不让事务回滚,可以使用 @Transactional 注解的 noRollbackFor 属性来指定不回滚的异常类型。
例如,如果你不想让事务回滚当某些类型的异常被抛出时,可以这样写:
```
@Transactional(noRollbackFor = { CustomException.class })
public void someMethod() throws CustomException {
// do something that may throw CustomException
}
```
这样,当 CustomException 被抛出时,事务不会回滚。注意,如果在方法中抛出的异常类型不在 noRollbackFor 属性所指定的类型之内,事务仍然会回滚。
阅读全文