From 140d39cbe6d8746d947f8828b0dc701eb761126d Mon Sep 17 00:00:00 2001 From: Odboy Date: Sat, 21 Feb 2026 22:47:12 +0800 Subject: [PATCH] =?UTF-8?q?refactor(exception):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=85=A8=E5=B1=80=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/GlobalExceptionHandler.java | 31 ++++++++++++------- .../handler/GlobalExceptionHandler.java | 30 ++++++++++++------ 2 files changed, 40 insertions(+), 21 deletions(-) diff --git a/cutejava-springboot3/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java b/cutejava-springboot3/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java index b457d90d..0326c129 100644 --- a/cutejava-springboot3/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java +++ b/cutejava-springboot3/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java @@ -15,7 +15,6 @@ */ package cn.odboy.framework.exception.handler; -import cn.hutool.core.exceptions.ExceptionUtil; import cn.odboy.framework.exception.BadRequestException; import io.swagger.v3.oas.annotations.Hidden; import lombok.extern.slf4j.Slf4j; @@ -42,31 +41,41 @@ public class GlobalExceptionHandler { * 处理所有不可知的异常 */ @ExceptionHandler(Throwable.class) - public ResponseEntity handleException(Throwable e) { + public ResponseEntity handleThrowable(Throwable e) { // 打印堆栈信息 - log.error(ExceptionUtil.stacktraceToString(e)); - return buildResponseEntity(ApiError.error(e.getMessage())); + log.error("handleThrowable", e); + return this.buildResponseEntity(ApiError.error(e.getMessage())); + } + + /** + * 处理所有不可知的异常 + */ + @ExceptionHandler(Exception.class) + public ResponseEntity handleException(Exception e) { + // 打印堆栈信息 + log.error("handleException", e); + return this.buildResponseEntity(ApiError.error(e.getMessage())); } /** * BadCredentialsException */ @ExceptionHandler(BadCredentialsException.class) - public ResponseEntity badCredentialsException(BadCredentialsException e) { + public ResponseEntity handleBadCredentialsException(BadCredentialsException e) { // 打印堆栈信息 String message = "坏的凭证".equals(e.getMessage()) ? "用户名或密码不正确" : e.getMessage(); log.error(message); - return buildResponseEntity(ApiError.error(message)); + return this.buildResponseEntity(ApiError.error(message)); } /** * 处理自定义异常 */ @ExceptionHandler(value = BadRequestException.class) - public ResponseEntity badRequestException(BadRequestException e) { + public ResponseEntity handleBadRequestException(BadRequestException e) { // 打印堆栈信息 - log.error(ExceptionUtil.stacktraceToString(e)); - return buildResponseEntity(ApiError.error(e.getStatus(), e.getMessage())); + log.error("handleBadRequestException", e); + return this.buildResponseEntity(ApiError.error(e.getStatus(), e.getMessage())); } /** @@ -75,13 +84,13 @@ public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { // 打印堆栈信息 - log.error(ExceptionUtil.stacktraceToString(e)); + log.error("handleMethodArgumentNotValidException", e); ObjectError objectError = e.getBindingResult().getAllErrors().get(0); String message = objectError.getDefaultMessage(); if (objectError instanceof FieldError) { message = ((FieldError) objectError).getField() + ": " + message; } - return buildResponseEntity(ApiError.error(message)); + return this.buildResponseEntity(ApiError.error(message)); } /** diff --git a/cutejava/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java b/cutejava/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java index 85acc5e1..16bf1104 100644 --- a/cutejava/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java +++ b/cutejava/cutejava-framework/src/main/java/cn/odboy/framework/exception/handler/GlobalExceptionHandler.java @@ -40,31 +40,41 @@ public class GlobalExceptionHandler { * 处理所有不可知的异常 */ @ExceptionHandler(Throwable.class) - public ResponseEntity handleException(Throwable e) { + public ResponseEntity handleThrowable(Throwable e) { // 打印堆栈信息 - log.error(ExceptionUtil.stacktraceToString(e)); - return buildResponseEntity(ApiError.error(e.getMessage())); + log.error("handleThrowable", e); + return this.buildResponseEntity(ApiError.error(e.getMessage())); + } + + /** + * 处理所有不可知的异常 + */ + @ExceptionHandler(Exception.class) + public ResponseEntity handleException(Exception e) { + // 打印堆栈信息 + log.error("handleException", e); + return this.buildResponseEntity(ApiError.error(e.getMessage())); } /** * BadCredentialsException */ @ExceptionHandler(BadCredentialsException.class) - public ResponseEntity badCredentialsException(BadCredentialsException e) { + public ResponseEntity handleBadCredentialsException(BadCredentialsException e) { // 打印堆栈信息 String message = "坏的凭证".equals(e.getMessage()) ? "用户名或密码不正确" : e.getMessage(); log.error(message); - return buildResponseEntity(ApiError.error(message)); + return this.buildResponseEntity(ApiError.error(message)); } /** * 处理自定义异常 */ @ExceptionHandler(value = BadRequestException.class) - public ResponseEntity badRequestException(BadRequestException e) { + public ResponseEntity handleBadRequestException(BadRequestException e) { // 打印堆栈信息 - log.error(ExceptionUtil.stacktraceToString(e)); - return buildResponseEntity(ApiError.error(e.getStatus(), e.getMessage())); + log.error("handleBadRequestException", e); + return this.buildResponseEntity(ApiError.error(e.getStatus(), e.getMessage())); } /** @@ -73,13 +83,13 @@ public class GlobalExceptionHandler { @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { // 打印堆栈信息 - log.error(ExceptionUtil.stacktraceToString(e)); + log.error("handleMethodArgumentNotValidException", e); ObjectError objectError = e.getBindingResult().getAllErrors().get(0); String message = objectError.getDefaultMessage(); if (objectError instanceof FieldError) { message = ((FieldError) objectError).getField() + ": " + message; } - return buildResponseEntity(ApiError.error(message)); + return this.buildResponseEntity(ApiError.error(message)); } /**