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这与我的问题无关,我的项目中只有一个控制器建议,我的问题没有优先权。