spring AOP中的@AfterThrowing處理異常與try...catch...的區別

spring AOP中的AfterThrowing增強處理可以對目標方法的異常進行處理,但這種處理與直接使用catch捕捉處理異常的方式不同,catch捕捉意味着能完全處理異常,即只要catch塊本身不拋出新的異常,則被處理的異常不會往上級調用者進一步傳播下去;但是如果使用了AfterThrowing增強處理用於對異常進行處理,處理後異常仍然會往上一級調用者傳播,如果是在main中調用的目標方法,那麼異常會直接傳到JVM

另外需要注意:如果目標方法中出現異常,並由catch捕捉處理且catch又沒有拋出新的異常,那麼針對該目標方法的AfterThrowing增強處理將不會被執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章