From cd76a52332eb10f17351d986df98a910cee5da63 Mon Sep 17 00:00:00 2001 From: Spark <2666652@gmail.com> Date: Sat, 12 Oct 2024 00:36:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/AccountNotFoundException.java | 15 ++++++ .../cc/aspark/exception/BaseException.java | 15 ++++++ .../exception/LoginFailedException.java | 10 ++++ .../exception/PasswordErrorException.java | 15 ++++++ .../exception/UserNotLoginException.java | 12 +++++ .../handler/GlobalExceptionHandler.java | 46 +++++++++++++++++++ 6 files changed, 113 insertions(+) create mode 100644 RollCallServer/src/main/java/cc/aspark/exception/AccountNotFoundException.java create mode 100644 RollCallServer/src/main/java/cc/aspark/exception/BaseException.java create mode 100644 RollCallServer/src/main/java/cc/aspark/exception/LoginFailedException.java create mode 100644 RollCallServer/src/main/java/cc/aspark/exception/PasswordErrorException.java create mode 100644 RollCallServer/src/main/java/cc/aspark/exception/UserNotLoginException.java create mode 100644 RollCallServer/src/main/java/cc/aspark/handler/GlobalExceptionHandler.java diff --git a/RollCallServer/src/main/java/cc/aspark/exception/AccountNotFoundException.java b/RollCallServer/src/main/java/cc/aspark/exception/AccountNotFoundException.java new file mode 100644 index 0000000..10efe9c --- /dev/null +++ b/RollCallServer/src/main/java/cc/aspark/exception/AccountNotFoundException.java @@ -0,0 +1,15 @@ +package cc.aspark.exception; + +/** + * 账号不存在异常 + */ +public class AccountNotFoundException extends BaseException { + + public AccountNotFoundException() { + } + + public AccountNotFoundException(String msg) { + super(msg); + } + +} diff --git a/RollCallServer/src/main/java/cc/aspark/exception/BaseException.java b/RollCallServer/src/main/java/cc/aspark/exception/BaseException.java new file mode 100644 index 0000000..31f6c4b --- /dev/null +++ b/RollCallServer/src/main/java/cc/aspark/exception/BaseException.java @@ -0,0 +1,15 @@ +package cc.aspark.exception; + +/** + * 业务异常 + */ +public class BaseException extends RuntimeException { + + public BaseException() { + } + + public BaseException(String msg) { + super(msg); + } + +} diff --git a/RollCallServer/src/main/java/cc/aspark/exception/LoginFailedException.java b/RollCallServer/src/main/java/cc/aspark/exception/LoginFailedException.java new file mode 100644 index 0000000..cbf9dd1 --- /dev/null +++ b/RollCallServer/src/main/java/cc/aspark/exception/LoginFailedException.java @@ -0,0 +1,10 @@ +package cc.aspark.exception; + +/** + * 登录失败 + */ +public class LoginFailedException extends BaseException{ + public LoginFailedException(String msg){ + super(msg); + } +} diff --git a/RollCallServer/src/main/java/cc/aspark/exception/PasswordErrorException.java b/RollCallServer/src/main/java/cc/aspark/exception/PasswordErrorException.java new file mode 100644 index 0000000..34f7915 --- /dev/null +++ b/RollCallServer/src/main/java/cc/aspark/exception/PasswordErrorException.java @@ -0,0 +1,15 @@ +package cc.aspark.exception; + +/** + * 密码错误异常 + */ +public class PasswordErrorException extends BaseException { + + public PasswordErrorException() { + } + + public PasswordErrorException(String msg) { + super(msg); + } + +} diff --git a/RollCallServer/src/main/java/cc/aspark/exception/UserNotLoginException.java b/RollCallServer/src/main/java/cc/aspark/exception/UserNotLoginException.java new file mode 100644 index 0000000..809f2df --- /dev/null +++ b/RollCallServer/src/main/java/cc/aspark/exception/UserNotLoginException.java @@ -0,0 +1,12 @@ +package cc.aspark.exception; + +public class UserNotLoginException extends BaseException { + + public UserNotLoginException() { + } + + public UserNotLoginException(String msg) { + super(msg); + } + +} diff --git a/RollCallServer/src/main/java/cc/aspark/handler/GlobalExceptionHandler.java b/RollCallServer/src/main/java/cc/aspark/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..644ff97 --- /dev/null +++ b/RollCallServer/src/main/java/cc/aspark/handler/GlobalExceptionHandler.java @@ -0,0 +1,46 @@ +package cc.aspark.handler; + + +import cc.aspark.constant.MessageConstant; +import cc.aspark.exception.BaseException; +import cc.aspark.result.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import java.sql.SQLIntegrityConstraintViolationException; + +/** + * 全局异常处理器,处理项目中抛出的业务异常 + */ +@RestControllerAdvice +@Slf4j +public class GlobalExceptionHandler { + + /** + * 捕获业务异常 + */ + @ExceptionHandler + public Result exceptionHandler(BaseException ex){ + log.error("异常信息:{}", ex.getMessage()); + return Result.error(ex.getMessage()); + } + + @ExceptionHandler + public Result exceptionHandler(SQLIntegrityConstraintViolationException ex) { + String msg = ex.getMessage(); + if (msg.contains("Duplicate entry")) { + return Result.error("已存在,请勿重复添加"); + } + return Result.error(MessageConstant.UNKNOWN_ERROR); + } + +// @ExceptionHandler +// public Result exceptionHander(SQLException ex) { +// String msg = ex.getMessage(); +// if (msg.contains("doesn't have a default value")) { +// return Result.error(MessageConstant.INVALID_INPUT); +// } +// return Result.error(MessageConstant.UNKNOWN_ERROR); +// } +}