【问题标题】:Spring Boot ControllerAdvice TimeoutException Not CaughtSpring Boot ControllerAdvice TimeoutException 未捕获
【发布时间】:2023-03-30 04:32:01
【问题描述】:

我在 controllerAdvice 中有多个 ExceptionHandler。一个用于 TimeoutException,另一个用于 Exception 类。

当我抛出新的 TimeoutException 时,它会在异常处理程序中而不是在 TimeoutException 处理程序中被捕获

下面是代码:

@ControllerAdvice
public class CoreControllerAdvice {


     @ExceptionHandler(value = { Exception.class })
     @ResponseBody
     public ResponseEntity<ErrorResponse> handleException(Exception ex) {

        log.info("handleException", ex);
     }

     @ExceptionHandler(value = { TimeoutException.class })
     @ResponseBody
     public ResponseEntity<ErrorResponse> handleTimeoutException(Exception ex) {

        log.info("handleTimeoutException", ex);
     }
}

我抛出异常

throw new TimeoutException("test");

有人可以帮忙吗,为什么它没有被 TimeoutException Handler 捕获

谢谢,

【问题讨论】:

    标签: spring spring-boot timeoutexception


    【解决方案1】:

    handleTimeoutException 方法中的参数对我来说似乎不正确,应该是 TimeoutException 而不是 Exception

     @ExceptionHandler(value = { TimeoutException.class })
     @ResponseBody
     public ResponseEntity<ErrorResponse> handleTimeoutException(TimeoutException ex) {
    
        log.info("handleTimeoutException", ex);
     }
    

    【讨论】:

    • 嗨 Joydeep,感谢您的回复,我也尝试了 TiemoutException ..
    猜你喜欢
    • 2019-01-15
    • 2020-06-05
    • 2018-04-07
    • 2020-08-04
    • 1970-01-01
    • 2016-03-25
    • 2020-01-17
    • 2021-03-26
    • 2014-12-01
    相关资源
    最近更新 更多