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 系统错误"; } }