Spring 中异常处理的各种姿势

2020-05-28 00:00:00 异常 响应 方式 类型 全局



1. 前言


统一的异常处理对于应用的重要性不言而喻。今天我们来介绍一下 Spring 如何来进行统一的 Rest 异常处理。同时我们也会简单比较一下它们之间的优劣。


2. @Controller 结合 @ExceptionHandler


在控制器中声明一个方法然后用 @ExceptionHandler 注解标记即可:


 @Controller
 @RequestMapping("/test")
 public class TestController {
  
     @RequestMapping("/err")
     @ResponseBody
     public Object demo1(){
         int i = 1 / 0;
         return new Date();
     }
  
     @ExceptionHandler({RuntimeException.class})
     public ModelAndView fix(Exception ex){
         System.out.println(ex.getMessage());
         return new ModelAndView("error",new ModelMap("ex",ex.getMessage()));
     }
 }

相关文章