springboot之全局异常捕获

来源:互联网 发布:网站源码查询 编辑:程序博客网 时间:2024/05/17 07:01

前言:在一个项目中的异常我们通常会统一进行处理,在springboot中怎样处理呢?

1.首先定义一个类,GlobalDefaultExceptionHandler

   在这个类上注解上@ControllerAdvice

   在方法上使用注解@ExceptionHandler(value=Exception.class),具体代码如下:

  说明:只要定义好这个方法,一旦发生异常就会跑到这个类执行相应的方法

  1. package cn.ljj.config;


    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;




    /**
     * 1、新建一个Class,这里取名为GlobalDefaultExceptionHandler
     * 2、在class上添加注解,@ControllerAdvice;
     * 3、在class中添加一个方法
     * 4、在方法上添加@ExcetionHandler拦截相应的异常信息;
     * 5、如果返回的是View -- 方法的返回值是ModelAndView;
     * 6、如果返回的是String或者是Json数据,那么需要在方法上添加@ResponseBody注解.
     * 
     * 
     * @author ljj
     * @version v.0.1
     * @date 2016年12月18日
     */
    @ControllerAdvice
    public class GlobalDefaultExceptionHandler {



    @ExceptionHandler(Exception.class)
    @ResponseBody
    public String defaultExceptionHandler(HttpServletRequest req,Exception e){
    //是返回的String.

    //ModelAndView -- 介绍 模板引擎...?
    // ModelAndView mv = new ModelAndView();
    // mv.setViewName(viewName);

    return "对不起,服务器繁忙,请稍后再试!";
    }

    }

原创粉丝点击