Свойство унаследованного исключения не обрабатывается в ResponseEntityExceptionHandler - PullRequest
0 голосов
/ 14 мая 2019

У меня есть простой обработчик исключений Spring Boot, который обрабатывает исключения контроллера REST глобально (см. Ниже).

@RestControllerAdvice(annotations = RestController.class)
@EnableWebMvc
@Order(Ordered.HIGHEST_PRECEDENCE)
public class MyCustomExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(value = { SomeCustomException.class })
    public ResponseEntity<Object> hanldeSomeCustomException(SomeCustomException ex) {
      // ...
    }
}

My SomeCustomException наследует другое пользовательское исключение, например ParentCustomException, который содержит свойство, скажем, parentProperty (private).

Когда выбрасывается Exception, я ловлю его и выбрасываю новый SomeCustomException с этим набором унаследованных свойств (parentProperty). Я могу видеть значение в этом SomeCustomException объекте, когда он выбрасывается, вместе со свойством, которое принадлежит только SomeCustomException, например, someCustomProperty.

Однако, когда логика попадает в обработку исключений (hanldeSomeCustomException()), ex содержит значение только для SomeCustomException.someCustomProperty, но не ParentCustomException.parentProperty.

Может кто-нибудь сказать мне, почему это так и как я могу обработать мой SomeCustomException со значением для parentProperty?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...