理解苍穹外卖项目

全局异常处理 通过创建一个基础异常类,该类继承运行时异常, 1 2 3 4 5 6 7 8 9 10 11 12 13 /** * 业务异常 */ public class BaseException extends RuntimeException { public BaseException() { } public BaseException(String msg) { super(msg); } } 而项目中所有业务异常都继承该基础异常类(BaseException) 一个全局异常处理器,处理BaseException,业务流程中抛出的异常,经过该全局异常处理器的捕捉,最后通过一个统一的结果对象返回给前端 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /** * 全局异常处理器,处理项目中抛出的业务异常 */ @RestControllerAdvice @Slf4j public class GlobalExceptionHandler { /** * 捕获业务异常 * @param ex * @return */ @ExceptionHandler public Result exceptionHandler(BaseException ex){ log.error("异常信息:{}", ex.getMessage()); return Result.error(ex.getMessage()); } } 统一的返回结果类Result,定义了重载的success静态方法(分别对应有无返回数据),和一个静态error方法。 ...

19 min · 3873 words · Bob