Springboot设置全局异常

为什么要设置全局异常

1、如果设置全局异常,可以全局管理异常,对应一般判断,可以直接抛出异常,从全局异常获取code和message,统一管理。

举一个简单的例子比如以新增来说,我们一般会判断是否已经存在,存在则返回新增失败,已经存在信息,如果加了全局异常,则可以直接service层无返回,void方法,如果校验失败,直接抛出异常,controller直接返回新增成功。

2、异常统一管理 防止页面直接报错

运用

具体代码:

复制代码
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler
{
    /**
     * 默认全局异常处理。
     * @param e the e
     * @return ResultData
     */
    @ExceptionHandler(RuntimeException.class)
    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    public ResultData<String> exception(Exception e) {
        System.out.println("----come in GlobalExceptionHandler");
        log.error("全局异常信息exception:{}", e.getMessage(), e);
        return ResultData.fail(ReturnCodeEnum.RC500.getCode(),e.getMessage());
    }
}

说明:

复制代码
 @ExceptionHandler(RuntimeException.class)
其中异常可以是自己自定义的异常,也可以是已经有的异常,根据异常类型,处理不同异常
可以对应不同异常,写不同的handle方法
ResultData<String> 返回类型,可以根据自己类型时间定义
相关推荐
咖啡八杯4 小时前
GoF设计模式——工厂方法模式
java·后端·设计模式
勿忘初心12214 小时前
SpringBoot 国密 SM4 配置加密(自动解密处理器实现)
spring boot·国密 sm4·自动解密处理器
代码羊羊5 小时前
Rust 迭代器完全通俗易懂指南(零基础全覆盖)
java·开发语言·rust
MY_TEUCK12 小时前
【Java 后端】SpringBoot 登录认证与会话跟踪实战(JWT + Filter/Interceptor)
java·开发语言·spring boot
今天长肉了吗12 小时前
银行风控项目踩坑实录:指标跑了6小时,风险评分全挂了
java
计算机程序定制辅导12 小时前
计算机小程序毕设实战-基于Spring Boot与微信小程序的考研资源共享平台设计与实现基于springboot+微信小程序的考研复习辅助平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
spring boot·微信小程序·小程序·课程设计
随读手机13 小时前
多式联运信息交互平台完整方案(2026版)
java·ai·eclipse·云计算·区块链
许彰午13 小时前
03-二叉树——从递归遍历到非递归实现
java·算法
nj012814 小时前
Spring 循环依赖详解:三级缓存、早期引用、AOP 代理与懒加载
java·spring·缓存
野生技术架构师14 小时前
2026年最全Java面试题及答案汇总(建议收藏,面试前看这篇就够了)
java·开发语言·面试