Spring Boot 全局异常捕捉

在一个项目 中的异常我们都回统一进行处理的,那么如何进行系统统一处理呢?

新建一个类GlobalDefaultExceptionHandler,在class注解上@ControllerAdvice,在方法上注解上@ExceptionHandler(vale=Exception.class)。

package com.example.demo.exception;

import javax.servlet.http.HttpServletRequest;

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

/**
 * 全局异常处理类 1.新建一个GlobalDefaultExceptionHandler类 2.添加注解@ControllerAdvice
 * 3.在class中添加一个方法 4.在方法上添加@ExceptionHandler拦截相应的异常信息 5.如果返回的是View --
 * 方法的返回值是ModelAndView 6.如果返回的是String或者是Json数据,那么需要在方法上添加@ResponseBody注解
 * 
 * @author Lidy
 */
@ControllerAdvice
public class GlobalDefaultExceptionHandler {

    @ExceptionHandler(Exception.class)
    @ResponseBody
    public String defaultExceptionHandler(HttpServletRequest req, Exception e) {
        // MocelAndView -- 介绍模板引擎
        // ModelAndView mv = new ModelAndView();
        // mv.setViewName(viewName);
        // return mv;
        // 是返回的String
        return "对不起,服务器繁忙,请稍候再试!";
    }

}

你可能感兴趣的:(Spring Boot 全局异常捕捉)