@ExceptionHandler異常統一處理


之前處理工程異常,代碼中最常見的就是try-catch-finally,有時一個try,多個catch,覆蓋了核心業務邏輯

try{
    ..........
}catch(Exception1 e){
    ..........
}catch(Exception2 e){
    ...........
}catch(Exception3 e){
    ...........
}
  • @ExceptionHandler:統一處理某一類異常,從而能夠減少代碼重復率和復雜度
 1 @Controller  
 2 public class AccessController {  
 3   
 4     /** 
 5      * 異常頁面控制 
 6      *  
 7      * @param runtimeException 
 8      * @return 
 9      */  
10     @ExceptionHandler(RuntimeException.class)  
11     public @ResponseBody  
12     Map<String,Object> runtimeExceptionHandler(RuntimeException runtimeException) {  
13         logger.error(runtimeException.getLocalizedMessage());  
14   
15         Map model = new TreeMap();  
16         model.put("status", false);  
17         return model;  
18     }  
19   
20 }  

當這個Controller中任何一個方法發生異常,一定會被這個方法攔截到。然后,輸出日志。封裝Map並返回,頁面上得到status為false。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM