Class GlobalExceptionHandler

java.lang.Object
com.codeupsoft.base.web.exception.GlobalExceptionHandler

@RestControllerAdvice public class GlobalExceptionHandler extends Object
全局异常处理器 统一处理应用中的各种异常,提供一致的错误响应格式.
Since:
1.0.0
Author:
codeupsoft
  • Constructor Details

    • GlobalExceptionHandler

      public GlobalExceptionHandler()
  • Method Details

    • handleBaseException

      @ExceptionHandler(com.codeupsoft.base.common.exception.CodeupSoftBaseException.class) public com.codeupsoft.base.common.response.R<Void> handleBaseException(com.codeupsoft.base.common.exception.CodeupSoftBaseException e)
      处理业务异常.

      捕获BaseException及其子类,返回业务定义的错误码和消息.

      Parameters:
      e - 业务异常
      Returns:
      错误响应
    • handleConstraintViolationException

      @ExceptionHandler(jakarta.validation.ConstraintViolationException.class) public com.codeupsoft.base.common.response.R<Void> handleConstraintViolationException(jakarta.validation.ConstraintViolationException e)
      处理参数校验异常(方法参数).

      捕获@Validated注解触发的ConstraintViolationException.

      Parameters:
      e - 参数校验异常
      Returns:
      错误响应
    • handleMethodArgumentNotValidException

      @ExceptionHandler(org.springframework.web.bind.MethodArgumentNotValidException.class) public com.codeupsoft.base.common.response.R<Void> handleMethodArgumentNotValidException(org.springframework.web.bind.MethodArgumentNotValidException e)
      处理参数校验异常(RequestBody).

      捕获@Valid注解触发的MethodArgumentNotValidException.

      Parameters:
      e - 参数校验异常
      Returns:
      错误响应
    • handleBindException

      @ExceptionHandler(org.springframework.validation.BindException.class) public com.codeupsoft.base.common.response.R<Void> handleBindException(org.springframework.validation.BindException e)
      处理参数绑定异常.

      捕获数据绑定时的BindException.

      Parameters:
      e - 绑定异常
      Returns:
      错误响应
    • handleIllegalArgumentException

      @ExceptionHandler(IllegalArgumentException.class) public com.codeupsoft.base.common.response.R<Void> handleIllegalArgumentException(IllegalArgumentException e)
      处理非法参数异常.
      Parameters:
      e - 非法参数异常
      Returns:
      错误响应
    • handleNullPointerException

      @ExceptionHandler(NullPointerException.class) public com.codeupsoft.base.common.response.R<Void> handleNullPointerException(NullPointerException e)
      处理空指针异常.
      Parameters:
      e - 空指针异常
      Returns:
      错误响应
    • handleNumberFormatException

      @ExceptionHandler(NumberFormatException.class) public com.codeupsoft.base.common.response.R<Void> handleNumberFormatException(NumberFormatException e)
      处理数字格式异常.
      Parameters:
      e - 数字格式异常
      Returns:
      错误响应
    • handleSqlException

      @ExceptionHandler(SQLException.class) @ResponseStatus(INTERNAL_SERVER_ERROR) public com.codeupsoft.base.common.response.R<Void> handleSqlException(SQLException e)
      处理SQL异常.
      Parameters:
      e - SQL异常
      Returns:
      错误响应
    • handleHttpRequestMethodNotSupportedException

      @ExceptionHandler(org.springframework.web.HttpRequestMethodNotSupportedException.class) public com.codeupsoft.base.common.response.R<Void> handleHttpRequestMethodNotSupportedException(org.springframework.web.HttpRequestMethodNotSupportedException e)
      处理HTTP请求方法不支持异常.
      Parameters:
      e - HTTP请求方法不支持异常
      Returns:
      错误响应
    • handleHttpMediaTypeNotSupportedException

      @ExceptionHandler(org.springframework.web.HttpMediaTypeNotSupportedException.class) public com.codeupsoft.base.common.response.R<Void> handleHttpMediaTypeNotSupportedException(org.springframework.web.HttpMediaTypeNotSupportedException e)
      处理HTTP媒体类型不支持异常.
      Parameters:
      e - HTTP媒体类型不支持异常
      Returns:
      错误响应
    • handleMissingServletRequestParameterException

      @ExceptionHandler(org.springframework.web.bind.MissingServletRequestParameterException.class) public com.codeupsoft.base.common.response.R<Void> handleMissingServletRequestParameterException(org.springframework.web.bind.MissingServletRequestParameterException e)
      处理缺少Servlet请求参数异常.
      Parameters:
      e - 缺少Servlet请求参数异常
      Returns:
      错误响应
    • handleServletException

      @ExceptionHandler(jakarta.servlet.ServletException.class) public com.codeupsoft.base.common.response.R<Void> handleServletException(jakarta.servlet.ServletException e)
      处理Servlet异常.
      Parameters:
      e - Servlet异常
      Returns:
      错误响应
    • handleException

      @ExceptionHandler(Exception.class) public com.codeupsoft.base.common.response.R<Void> handleException(jakarta.servlet.http.HttpServletRequest request, Exception e)
      处理系统异常.

      捕获未被处理的所有异常,避免异常信息泄露.

      Parameters:
      e - 系统异常
      Returns:
      错误响应
    • nooResourceFoundException

      @ExceptionHandler(org.springframework.web.servlet.resource.NoResourceFoundException.class) public com.codeupsoft.base.common.response.R<Void> nooResourceFoundException(org.springframework.web.servlet.resource.NoResourceFoundException e)
      处理没有找到资源异常.

      捕获没有找到资源的异常,返回404错误.

      Parameters:
      e - 没有找到资源异常
      Returns:
      错误响应