天天看點

定義全局異常處理器 | 帶你讀《SpringBoot實戰教程》之十三

上一篇: 如何如何解析Json資料 | 帶你讀《SpringBoot實戰教程》之十二 下一篇: 異步調用實作多線程處理任務 | 帶你讀《SpringBoot實戰教程》之十四 本文來自于千鋒教育在阿裡雲開發者社群學習中心上線課程《SpringBoot實戰教程》,主講人楊紅豔, 點選檢視視訊内容

20.定義全局異常處理器

SpringBoot使用AOP思想進行全局異常處理

建立一個全局異常處理類,如下:

定義全局異常處理器 | 帶你讀《SpringBoot實戰教程》之十三

異常通常作為一個通知介入的,是以說我們需要用到一個注解,接下來我們要寫當發生異常時,對異常的處理方式。我們寫一個功能:

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class) 
    @ResponseBody
    public Map<String,Object> allExceptionHandler(  
            Exception exception) throws Exception  
    {  
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("errorCode", 500);
        map.put("errorMsg", exception.toString());
        return map;
    }  
}           

接下來驗證處理器是否好用,建立TestController:

定義全局異常處理器 | 帶你讀《SpringBoot實戰教程》之十三

全局處理器捕獲到異常後,就會傳回該異常資訊。

啟動路徑之後,顯示結果為:

定義全局異常處理器 | 帶你讀《SpringBoot實戰教程》之十三

替換資訊

int[ ] arr = new int[3];
System.out.println(arr[3]);           

結果顯示為:

定義全局異常處理器 | 帶你讀《SpringBoot實戰教程》之十三