内层事务(Required)内,try catch内,异常报错 -->报”事务中止“,除非独立新子事务或例外。
内层事务(Required)内,try catch外,异常报错 -->报”事务中止“,除非独立新子事务或例外。
内层事务(Required)外,try catch内,异常报错 -->吞掉异常,外层事务不回滚。
内层事务(Required)外,try catch外,异常报错 -->外层事务全部回滚。
外层事务,try catch内异常报错-->吞掉异常,外层事务不回滚。
外层事务,try catch外异常报错-->外层事务整体回滚。
总结:异常会中止并回滚它所在的事务。如果事务与上层事务共享,异常会中止上层事务,并且不会将异常信息反馈给上层事务(也就是上层try catch抓不到)