前提
为了使代码容易维护,减少冗余,我们创建一个类集中处理异常
在**.controller包下创建公共异常处理类BaseExceptionHandler,并 添加代码
编码
package com.tensquare.article.controller;
import entity.Result;
import entity.StatusCode;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@ControllerAdvice
public class BaseExceptionHandler {
//这里是用的异常最高级,每一个controller其实根据自身的业务逻辑来实现处理异常类最好
@ExceptionHandler(Exception.class)
@ResponseBody
public Result handler(Exception e) {
System.out.println("处理异常");
return new Result(false, StatusCode.ERROR, e.getMessage());
}
}
测试异常(测试用的)
//测试公共异常处理
@RequestMapping(value = "exception", method = RequestMethod.GET)
public Result test() {
int a = 1 / 0;
return null;
}