Исключение и наследование в Java

Предположим, у нас есть эта проблема

public class Father{
    public void method1(){...}
}

public class Child1 extends Father{
    public void method1() throws Exception{
    super.method1();
    ... 
    }

}

Child1 продолжаетсяFather и переопределяетmethod1 но учитывая реализациюChild1.method1 теперь выбрасывает исключение. Это не скомпилируется, так как переопределяющий метод не может генерировать новые исключения.

Какое лучшее решение?

Распространить требуемое исключение наFather, Для меня это против инкапсуляции, наследования и общего ООП (Father потенциально выдает исключение, которое никогда не произойдет).ИспользоватьRuntimeException вместо? Это решение не будет распространятьException кFather, но документы Oracle и другие источники утверждают, что класс исключений следует использовать, когда «код клиента ничего не может сделать». Это не тот случай, это исключение будет полезно для восстановления блаблабла (почему это неправильно использоватьRuntimeException вместо?).Другие..

Ответы на вопрос(5)

Ваш ответ на вопрос