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的异常

 

posted @ 2020-02-07 13:59  chy_18883701161  阅读(1496)  评论(0编辑  收藏  举报