SpringBoot 全局异常处理

用全局异常处理器统一拦截业务异常,返回一致的错误结构。

java
1@RestControllerAdvice2public class GlobalExceptionHandler {34  @ExceptionHandler(BizException.class)5  public ApiResponse handleBiz(BizException ex) {6    return ApiResponse.fail(ex.getCode(), ex.getMessage());7  }89  @ExceptionHandler(Exception.class)10  public ApiResponse handleOther(Exception ex) {11    return ApiResponse.fail(500, "服务器繁忙,请稍后再试");12  }13}

关键点说明

  • 控制器中抛出的异常会先匹配更具体的异常类型。
  • 兜底分支不要暴露堆栈信息,返回可读提示即可。

使用建议

复制之后先在本地的示例工程里跑一遍,确认运行结果符合预期,再根据自己的业务调整命名与结构。直接粘贴到大项目里容易忽略上下文差异。