У меня есть приложение весенней загрузки, и там я обрабатываю исключения. У меня есть два метода обработки исключений на данный момент:
@ControllerAdvice
@RestController
public class MyExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
public final BaseResponse<GenericException> handleGenericExceptions(Exception ex, HttpServletRequest request) {
....
return response;
}
@ExceptionHandler(MyCustomException.class)
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
public final BaseResponse<MyCustomException> handleMyCustomException(MyCustomException ex, HttpServletRequest request) {
....
return response;
}
}
В какой-то момент я выбрасываю исключение MyCustomException, но при отладке я вижу, что оно обрабатывается методом handleGenericExceptions. Если я удаляю метод handleGenericExceptions, то он обрабатывается сообщением handleMyCustomException.
Я хочу, чтобы MyCustomException обрабатывался методом handleMyCustomException, а все остальные исключения - методом handleGenericExceptions. Класс MyCustomException расширяет класс Throwable. Что здесь не так?
Спасибо.