跳到主要内容

简述如何使用Spring Boot实现异常处理?

参考答案:

在Spring Boot中实现异常处理通常涉及到以下步骤:

  1. 创建自定义异常类:首先,你可以创建自定义的异常类,这些类通常继承自RuntimeExceptionException。自定义异常类可以包含特定的错误代码和消息,以便于后续处理。
public class CustomException extends RuntimeException {
    private static final long serialVersionUID = 1L;

    public CustomException(String message) {
        super(message);
    }

    public CustomException(String message, Throwable cause) {
        super(message, cause);
    }
}
  1. 创建异常处理器:接下来,你需要创建一个异常处理器。这个处理器通常是一个实现了org.springframework.web.bind.annotation.ControllerAdvice注解的类,它包含一个或多个使用org.springframework.web.bind.annotation.ExceptionHandler注解的方法。这些方法会处理在控制器方法中抛出的异常。
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(CustomException.class)
    public ResponseEntity<Object> handleCustomException(CustomException ex) {
        // 在这里,你可以记录异常,发送通知,或者执行其他任何你需要的操作
        return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST);
    }

    @ExceptionHandler(Exception.class)
    public ResponseEntity<Object> handleGeneralException(Exception ex) {
        // 这是一个通用的异常处理器,它会处理所有未被其他处理器捕获的异常
        return new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
    }
}
  1. 在控制器中抛出异常:现在,你可以在你的控制器方法中抛出你定义的自定义异常。当这些异常被抛出时,它们会被你的异常处理器捕获并处理。
@RestController
public class MyController {

    @GetMapping("/test")
    public String test() {
        // 在这里,你可以根据你的业务逻辑抛出异常
        throw new CustomException("Something went wrong!");
    }
}

以上就是在Spring Boot中实现异常处理的基本步骤。通过这种方式,你可以为你的应用程序提供一个统一的异常处理机制,使得你的代码更加整洁,易于维护。