springboot

Springboot统一异常处理的方法是什么

小亿
104
2023-08-09 10:12:32
栏目: 编程语言

Spring Boot提供了一个全局异常处理的方法,可以通过编写一个@ControllerAdvice注解的类来实现统一异常处理。

具体步骤如下:

  1. 创建一个类并使用@ControllerAdvice注解标注,该类需要被Spring扫描到。

  2. 在该类中编写异常处理方法,可以使用@ExceptionHandler注解来标注处理特定异常的方法。

  3. 在处理方法中,可以根据需要对异常进行处理,比如记录日志、返回特定的错误信息等。

  4. 可以使用@ResponseStatus注解来标注处理方法的返回状态码。

示例代码如下:

@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public ResponseEntity<String> handleException(Exception e) {
// 处理异常的逻辑,比如记录日志、返回错误信息等
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");
}
@ExceptionHandler(NotFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
public ResponseEntity<String> handleNotFoundException(NotFoundException e) {
// 处理特定异常的逻辑
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Not Found");
}
}

在上面的代码中,handleException方法使用@ExceptionHandler注解标注,该方法会处理所有未被其他处理方法处理的异常,并返回500状态码和错误信息"Internal Server Error"。

handleNotFoundException方法处理NotFoundException异常,并返回404状态码和错误信息"Not Found"。

注意,需要根据具体需求来编写异常处理方法,并可以根据业务需要定义自己的异常类。

0
看了该问题的人还看了