查看原文
其他

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

程序员在开发项目时,一定会写 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



继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存