Spring ControllerAdvice未针对特定异常触发
我的Spring ControllerAdvice未针对特定异常触发,spring,spring-boot,exception-handling,Spring,Spring Boot,Exception Handling,我的@RestControllerAdvice(spring boot 1.4.2)看起来像这样 @RestControllerAdvice public class GlobalControllerExceptionHandler { @ExceptionHandler(value = { AvailabilityException.class }) public RestResponse availabilityException(AvailabilityExcept
@RestControllerAdvice
(spring boot 1.4.2)看起来像这样
@RestControllerAdvice
public class GlobalControllerExceptionHandler {
@ExceptionHandler(value = { AvailabilityException.class })
public RestResponse availabilityException(AvailabilityException ex) {
//logic
}
@ExceptionHandler(value = { HrsException.class })
public RestResponse hrsException(HrsException ex) {
//logic
}
}
此类捕获类型为HrsException
的异常,但不捕获类型为AvailabilityException
public class HrsException extends RuntimeException {
public Integer errorCode;
public String messageKey;
}
public class AvailabilityException extends HrsException {
}
HrsException
public class HrsException extends RuntimeException {
public Integer errorCode;
public String messageKey;
}
public class AvailabilityException extends HrsException {
}
可用性异常
public class HrsException extends RuntimeException {
public Integer errorCode;
public String messageKey;
}
public class AvailabilityException extends HrsException {
}
所以我猜可用性异常
没有被控制器建议捕获,因为它扩展了HRSExceception
,对此有何解释?我如何继续这个设计
基本上,我想创建一组继承自
HrsException
(因为我不想要重复的代码)的异常,并希望在控制器建议中捕获它们。代码中的某个地方有一个catch
干扰控制器建议,如果有人面临此问题,请确保您的代码中没有阻止链到达控制器建议的陷阱。此处的一些讨论:@AlanHay这与我的问题无关,我的项目中只有一个控制器建议,我的问题没有优先权。