是否有可能在整个 Spring Boot 应用程序中捕获特定类型的所有抛出异常(例如 IllegalArgumentException)并在一个地方处理它?我想为应用程序中的特定类型的异常引入一些额外的日志记录,并且我正在寻找一种方法来避免在整个应用程序中重复逻辑或方法调用?
最佳答案
看一下注释@ExceptionHandler(value=YourException.class)和 @ControllerAdvice 它允许您处理自定义异常。 Controller Advice 类可以全局处理异常。我们可以在此类文件中定义任何异常处理程序方法。
@ControllerAdvice
public class ProductExceptionController {
@ExceptionHandler(value = ProductNotfoundException.class)
public ResponseEntity<Object> exception(ProductNotfoundException exception) {
return new ResponseEntity<>("Product not found", HttpStatus.NOT_FOUND);
}
}
关于Java/Springboot : Catch and handle a particular exception in one place?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60032119/