Spring Boot (8) 全局异常处理

服务层和dao层的最终异常会交给controller处理,控制层的异常则会记录日志系统。

 

新建一个类用来处理异常,名字随便GlobalDefaultExceptionHandler.java,加上@ControllerAdvice注解

package com.david.utils;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

//捕获controller层抛出的异常,如果需要返回Json格式要添加@ResponseBody @RestControllerAdvice相当于(@ControllerAdvice和@ResponseBody)
@ControllerAdvice
public class GlobalDefaultExceptionHandler {


    //拦截所有Exception
    @ExceptionHandler(Exception.class)
    @ResponseBody //如果返回String 需要加ResponseBody 如果返回View 返回值就是ModelAndView
    public String defaultExceptionHandler(HttpServletRequest request,Exception  ex){

        //日志处理

        return "500 系统错误";
    }

}

 

posted @ 2018-05-29 13:58  海盗船长  阅读(230)  评论(0编辑  收藏  举报