Ändert ein 'throws Exception' die Signatur einer Methode?

Status
Nicht offen für weitere Antworten.

Mizar

Aktives Mitglied
Hallo alle miteinander,

ich beschäftige mich noch nicht all zu lange mit Java und bin mir deshalb bei folgender Sache etwas unsicher. Ein kurzes Beispiel. Angenommen ich habe ein Interface wie folgt:
Java:
public interface MyInterface
{
    public void machWas();
}
Und dazu diese beiden konkreten Implementierungen:
Java:
public class MyClassA implements MyInterface
{
    public void machWas()
    {
        // Methodendefinition
    }
}
/* und in einer weiteren class-Datei */
public class MyClassB implements MyInterface
{
    public void machWas() throws MyException
    {
        // Methodendefinition
    }
}
Bei der Implementierung der machWas()-Methode innerhalb der MyClassA-Klasse kann man davon ausgehen, dass eine Exception eher in seltenen Ausnahmefällen geworfen wird, wohingegen es bei der Implementierung innerhalb der MyClassB-Klasse wahrscheinlicher ist das mal eine Exception geworfen werden kann. Meine Frage dazu ist nun, ob dies so einfach geht oder ob sich durch das 'throws MyException' die Signatur der machWas()-Methode ändert und es deshalb bei der Implementierung etwas zu beachten gibt.

Schon mal vielen Dank im voraus für das Lösen meines kleinen Verständnisproblems. :)
 
Zuletzt bearbeitet:

javimka

Top Contributor
Bin mir jetzt nicht zu 100% sicher, aber ich würde davon ausgehen, dass wenn deine MyException von einer CheckedException erbt, dass dies dann die Signatur verändert. Dann muss nämlich jede aufrufende Methode diese Exception abfangen und behandeln können, aber das Interface verlangt dies nicht. Das gibt einen Konflikt.
 

Schumi

Bekanntes Mitglied
Beim Implementieren von Interfacemethoden kannst Du die throws Klauseln nicht ändern. RuntimeExceptions kannst Du ja ohne throws deklaration werfen, daher machen diese keine Probleme.

Eta: Im Zweifel kann man sowas doch einfach probieren, der Compiler wird sich dann schon beschweren.
 

Mizar

Aktives Mitglied
Das simple Ausprobieren (an das ich selber gar nicht gedacht hatte :oops:) hat tatsächlich die Lösung gebracht. Eine testweise geworfene IOException ließ den Compiler sogleich verlauten:
Code:
machWas() in MyClassB cannot implement machWas() in MyInterface; overridden method does not throw java.io.IOException
Danke euch Beiden fürs Helfen. :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
BATMAN_2008 Jackson adding additional fields to JSON throws java.util.concurrent.CompletionException: Java Basics - Anfänger-Themen 2
J Verständnisfrage zu throws neben Funktionen Java Basics - Anfänger-Themen 2
S throws bei Methoden Java Basics - Anfänger-Themen 4
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
H throws und try catch Java Basics - Anfänger-Themen 8
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
M [JTable] getValue throws ArrayOutOfBoundException Java Basics - Anfänger-Themen 1
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
M Exceptions per throws oder try Java Basics - Anfänger-Themen 4
F Exceptionbehandlung --> catch/throws Java Basics - Anfänger-Themen 11
StrikeTom Ein paar(2) Fragen zu throws und try + catch Java Basics - Anfänger-Themen 6
A Throws und throw.... Java Basics - Anfänger-Themen 7
K PROBLEM mit throws Java Basics - Anfänger-Themen 11
C throws Exception Java Basics - Anfänger-Themen 2
J Exception weiterleiten mit throws Java Basics - Anfänger-Themen 2
J Java GUI Problem (throws.) Java Basics - Anfänger-Themen 3
kb statische methoden und throws exception Java Basics - Anfänger-Themen 2
S Exception is not compatible with throws clause in DefaultHan Java Basics - Anfänger-Themen 3
T Auf "throws" verzichten! Java Basics - Anfänger-Themen 11
E Methodendeklaration mit throws wird nich behandelt Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
1 Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben