今日代码大赏 | 全局异常处理
程序员在开发项目时,一定会写 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
评论