Spring Boot 统一异常处理

Posted liuweiqc

tags:

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

  1. DemoException, 自定义异常

@Getter
public class DemoException extends RuntimeException 

    private Integer code;

    public DemoException(ResultEnum resultEnum) 
        super(resultEnum.getMessage());
        this.code = resultEnum.getCode();
    

    public DemoException(Integer code, String message) 
        super(message);
        this.code = code;
    
  1. DemoExceptionHandler, 异常处理器

@RestControllerAdvice
public class DemoExceptionHandler 

    @ResponseStatus(value = HttpStatus.OK)  // 返回给前端的http状态码
    @ExceptionHandler(value = DemoException.class)
    public ResultVo handlerSellException(DemoException e) 
        return ResultVoUtil.error(e.getCode(), e.getMessage());
    

  1. ResultEnum, 异常信息枚举

@Getter
public enum ResultEnum implements CodeEnum
    PARAM_ERROR(1, "参数不正确"),
    TOKEN_ERROR(10, "token无效"),
    USER_NOT_EXIST(20, "用户不存在"),
    ;

    private Integer code;

    private String message;

    ResultEnum(Integer code, String message) 
        this.code = code;
        this.message = message;
    

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

知识点-Spring Boot 统一异常处理汇总

spring boot 2 统一异常处理

Spring Boot 统一异常处理

基于Spring Boot的统一异常处理设计

基于spring boot的统一异常处理

Spring Boot2 系列教程 (十四) | 统一异常处理