• <ruby id="bi9vj"><b id="bi9vj"></b></ruby>

        <b id="bi9vj"></b>

        java在service層需要每個方法上都加上拋出異常嗎?

        malie0 發布于 昨天 12:01
        閱讀 209
        收藏 0

        默認spring事務拋出異常回滾只會是runtimeException,有些異常沒法直接回滾,需要自己定義回滾的異常類,需要在方法的異常注釋里寫回滾的異常類型,同時如果方法里沒加上throws Exception的話非runtimeException也不會回滾,不知道大家公司里代碼規范會不會強制要求方法都加上異常的處理?我看了下阿里的代碼規范并沒有這部分的規定,但是我感覺如果不加異常控制的話碰到非runtimeException可能就沒法回滾了。

        加載中
        0
        魔力貓
        魔力貓

        非RuntimeException異常,都是編譯器強制讓你處理的。你不處理能編譯過得去么。

        0
        起個起個名字都難
        起個起個名字都難

        @Transactional默認捕獲RunTimeException異常,如果自定義異常A繼承Exception,并且不指定rollback=Exception.class,這樣就捕獲不到A異常了,所以要加上rollback=Exception.class。但是我沒試過非Exception異常回滾的情況,有一次因為JDK版本緣故,拋出了非Exception異常,導致沒有錯誤信息輸出。

        返回頂部
        頂部
        聚看影院