SpringBoot 全局异常处理

Posted chy_18883701161

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot 全局异常处理相关的知识,希望对你有一定的参考价值。

 

新建包com.chy.exception,包下新建类GlobalExceptionHandler:

@ControllerAdvice //controller的增强
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class) //给controller添加异常处理,括号中指定要捕获处理哪种异常,Exception.class表示处理所有种类的异常
    @ResponseBody  //返回给浏览器显示出来
    public Map<String,String> handler1(Exception e){ //如果要使用异常对象,可以作为参数传入异常对象
        Map<String, String> map = new HashMap<>(2);
        map.put("errorCode", "01");
        map.put("errorMsg", "系统发生错误!");  //可以传回自定义的信息,也可以传回e.getMessage()
        return map;
    }

}

 

 

浏览器中的显示:

因为我们添加@ResponseBody,不管返回map、String,都会转换为json形式。

 

 

  • 可以编写多个方法,来处理不同种类的异常
  • 可以像上面一样直接返回一段文本,也可以调用视图
  • 处理的是未经捕获的、抛到controller的异常

 

以上是关于SpringBoot 全局异常处理的主要内容,如果未能解决你的问题,请参考以下文章

springboot 使用@ControllerAdvice注解全局处理系统异常

spring-- springboot配置全局异常处理器

看看人家 SpringBoot 的全局异常处理,多么优雅...

SpringBoot入门二十一,全局异常处理

Springboot全局异常处理

springboot中添加全局异常捕获类