学堂 学堂 学堂公众号手机端

在SpringBoot中,可以通过@ControllerAdvice注解来实现统一异常处理

lewis 2年前 (2023-10-01) 阅读数 3 #技术

在SpringBoot中,可以通过@ControllerAdvice注解来实现统一异常处理。以下是一个示例:

@ControllerAdvice publicclassGlobalExceptionHandler{ @ExceptionHandler(Exception.class) publicResponseEntity<ErrorResponse>handleException(Exceptionex){ ErrorResponseerrorResponse=newErrorResponse("500",ex.getMessage()); returnnewResponseEntity<>(errorResponse,HttpStatus.INTERNAL_SERVER_ERROR); } @ExceptionHandler(MyCustomException.class) publicResponseEntity<ErrorResponse>handleCustomException(MyCustomExceptionex){ ErrorResponseerrorResponse=newErrorResponse("400",ex.getMessage()); returnnewResponseEntity<>(errorResponse,HttpStatus.BAD_REQUEST); } @Data @AllArgsConstructor publicstaticclassErrorResponse{ privateStringcode; privateStringmessage; } }

在上面的示例中,我们定义了一个GlobalExceptionHandler类,并使用@ControllerAdvice注解来标识它是一个全局异常处理类。然后我们定义了两个异常处理方法,分别处理Exception和MyCustomException类型的异常。在这些方法中,我们可以自定义返回的错误信息和HTTP状态码。

注意:为了让SpringBoot能够扫描到GlobalExceptionHandler类,需要确保它在应用程序的包或其子包中。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门