9、全局异常处理

参数校验失败或业务操作抛出的异常,当然不可能再去手动捕捉异常进行处理,不然还不如用之前BindingResult方式呢。又不想手动捕捉这个异常,又要对这个异常进行处理,那正好使用SpringBoot全局异常处理来达到一劳永逸的效果!

首先,我们需要新建一个类,在这个类上加上@ControllerAdvice@RestControllerAdvice注解,这个类就配置成全局处理类了。这个根据你的Controller层用的是@Controller还是@RestController来决定。

@RestControllerAdvice也可以作用于@Controller

@RestControllerAdvice
public class ControllerExceptionHandler {

    /**
     * 其他异常处理
     * @param e
     * @return
     */
    @ExceptionHandler(Exception.class)
    public ResultVO otherExceptionHandler(Exception e){
        return ResultVO.failed("操作失败,服务器异常");
    }
}