Ausnahme und Vererbung in Java

Angenommen, wir haben dieses Problem

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

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

}

Child1 erweitertFather und überschreibtmethod1 aber die Umsetzung gegebenChild1.method1 Jetzt wirft eine Ausnahme. Dies wird nicht kompiliert, da die überschreibende Methode keine neuen Ausnahmen auslösen kann.

Was ist die beste Lösung?

Übertragen Sie die erforderliche Ausnahme an dieFather. Für mich ist dies gegen Einkapselung, Vererbung und allgemeine OOP (theFather Löst möglicherweise eine Ausnahme aus, die niemals auftreten wird.Verwenden einRuntimeException stattdessen? Diese Lösung wird das nicht verbreitenException zumFatherIn Oracle-Dokumenten und anderen Quellen wird jedoch angegeben, dass Ausnahmeklassen verwendet werden sollten, wenn "Client-Code nichts kann". Ist dies nicht der Fall, wird diese Ausnahme nützlich sein, um blablabla wiederherzustellen (warum ist es falsch zu verwenden?)RuntimeException stattdessen?).Andere..

Antworten auf die Frage(5)

Ihre Antwort auf die Frage