今日代码大赏 | 全局异常处理

程序员鱼皮

共 857字,需浏览 2分钟

 · 2024-04-11

程序员在开发项目时,一定会写 Bug。

为了提高系统的健壮性,并且让用户看到更友好的提示(而不是 400、500 这种又臭又长的错误信息),我们肯定要对异常进行处理。

但一般情况下,我们没办法预料和捕获到所有的异常,怎么办呢?

我们通常会采用全局异常处理器,最简单粗暴的实现方式就是把所有的代码都用 try catch 包一层。

在 SpringBoot 项目中,其实有更简单优雅的办法,我们可以使用如下代码统一处理异常:

      
      @RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    @ExceptionHandler(RuntimeException.class)
    public BaseResponse<?> runtimeExceptionHandler(RuntimeException e
{
        log.error("RuntimeException", e);
        return ResultUtils.error(ErrorCode.SYSTEM_ERROR, "系统错误");
    }
}

无论是 Service 还是 Controller 还是什么位置的异常,通通一网打尽!

完整代码片段来源于代码小抄,欢迎点击进入小程序阅读!

在线访问:https://www.codecopy.cn/post/6tiler



浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报