spring boot自定义异常

Posted 江州益彤

tags:

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

一、自定义异常

GlobalExceptionHandler

package com.ermao.exception;

import com.ermao.common.Result;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice
public class GlobalExceptionHandler 
    /**
     * @ExceptionHandler相当于controller的@RequestMapping
     * 如果抛出的的是ServiceException,则调用该方法
     * @param se 业务异常
     * @return Result
     */
    @ExceptionHandler(ServiceException.class)
    @ResponseBody
    public Result handle(ServiceException se)
        return Result.error(se.getCode(),se.getMessage());
    


ServiceException

package com.ermao.exception;

import lombok.Getter;

//自定义运行时异常
@Getter
public class ServiceException extends RuntimeException
    private String code;
    /**
     * 使用已有的错误类型
     * @param type 枚举类中的错误类型
     */
//    public ServiceException(ErrorType type)
//        super(type.getMsg());
//        this.code = type.getCode();
//    

    /**
     * 自定义错误类型
     * @param code 自定义的错误码
     * @param msg 自定义的错误提示
     */
    public ServiceException(String code, String msg)
        super(msg);
        this.code = code;
    


二、使用自定义异常

以上是关于spring boot自定义异常的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot系列——自定义异常反馈

测试开发专题:spring-boot自定义异常返回

测试开发专题:spring-boot自定义异常返回

抛出异常时,Spring Boot 不显示自定义错误

Spring Boot 异常自定义处理 - 意外的 HTTP 状态

Spring Boot 异常处理数据库错误的自定义异常?