亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

try-catch怎樣寫可以讓spring認為拋出的異常是運行時異常,從而執行事務操作??

本節視頻老師說,不適當使用try-catch會造成spring以為不是運行時異常,從而不執行事務操作,那如何寫try-catch,可以保證spring以為拋出的異常是運行時異常,從而執行回滾??

正在回答

3 回答


SeckillExecution?繼承RuntimeException。seckillCloseException?,RepeatKillException?繼承SeckillExecution
這樣保證所有出現的異常都被視為?運行期異常
????????????catch?(SeckillCloseException?e1){
????????????throw??e1;
????????}?catch?(RepeatKillException?e2){
????????????throw?e2;
????????}?catch?(Exception?e){??//?其它異常
????????????logger.error(e.getMessage(),e);
????????????//?所有編譯期異常轉化為運行期異常
????????????throw?new?SeckillException("seckill?inner?exception"+e.getMessage());
????????????return??new?SeckillExecution(seckillId,SecKillStateEnum.INNER_ERROR);
????????}


3 回復 有任何疑惑可以回復我~

意思是有了異常你要繼續往上拋。不能自已默默catch處

2 回復 有任何疑惑可以回復我~

看最終service方法最終是否拋出了運行時異常吧,如果在方法中拋出了運行時異常又catch了的話,spring就檢測不到,不會回滾

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

try-catch怎樣寫可以讓spring認為拋出的異常是運行時異常,從而執行事務操作??

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號