根据https://www.cnblogs.com/yhc-910/p/16735445.html文档进行的整合,但在获取xid时为null,手动抛出异常不回滚
我猜测你可能使用了如下代码:
String xid = request.getParameter("xid"); if(xid == null){ throw new Exception("xid is null"); }
如果你在获取xid时返回了null,那么你就会抛出一个异常,但是并没有进行异常处理。这就导致了你手动抛出的异常不回滚。
解决方法有两种:
1。在抛出异常之前进行一些处理,使得异常能够正常回滚。例如,你可以使用try-catch语句来捕获并处理异常,或者使用事务注解来处理异常。
2.在获取xid之前进行检查,如果xid为null,则返回一个错误信息,而不是抛出异常。这样就可以避免抛出异常,也不会导致数据不回滚。
我建议你用下面的代码:
String xid = request.getParameter("xid"); if(xid == null){ return "xid is null"; }
希望这些信息能够帮到你。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。