1. 程式人生 > >@ControllerAdvice和@ExceptionHandler實現全域性捕獲異常

@ControllerAdvice和@ExceptionHandler實現全域性捕獲異常

##全域性捕獲異常:相當於整個web請求專案全域性捕獲異常,一般對整個controller層丟擲的異常做統一處理。
##異常處理有兩種方式:1、捕獲返回json格式;2、捕獲返回頁面的

@ControllerAdvice(basePackages= {"com.demo"})
public class GlobalCatchErrorController {
    

    1、捕獲返回json格式
    @ResponseBody
    @ExceptionHandler(Exception.class)
    public Map<String,String> globalCatchErrorJson() {
        Map<String, String> errorMap = new HashMap<String,String>();
        errorMap.put("returnCode", "2999");
        errorMap.put("returnMessage", "系統繁忙,請稍後重試!");
        return errorMap;
    }


    2、捕獲返回頁面的
    @ExceptionHandler(Exception.class)
    public String globalCatchErrorView() {
        return "error";
    }
}