Warum kann eine Methode so deklariert werden, dass viele Ausnahmen ausgelöst werden, selbst wenn keine von ihnen ausgelöst wird?

8

Ich habe meinen Quellcode mit dem eines Kollegen zusammengelegt, und ich sah, dass er eine Ausnahme hinzugefügt hatte, die in die Deklaration einer Methode eingefügt werden sollte; Ich wusste jedoch, dass diese Ausnahme niemals wirklich von dieser Methode abweichen würde.

Ich frage mich, warum der Compiler mich nicht vor einer "nicht-geworfenen Ausnahme" gewarnt hat (oder so ähnlich). Ich weiß, dass Sie eine Methode deklarieren können, die N Ausnahmen auslöst, auch wenn keine dieser Ausnahmen vom Code in der Methode ausgelöst wird.

Warum ist das so?

%Vor%     
Pedro García Medina 17.03.2015, 22:44
quelle

1 Antwort

13
  1. Unterklassen, die die Methode überschreiben, können die Ausnahme auslösen, selbst wenn ihre Oberklasse dies nicht tut.
  2. Sie können später die Methode so ändern, dass eine der aufgeführten Ausnahmen ausgelöst wird, während die Abwärtskompatibilität beibehalten wird.
Colonel Thirty Two 17.03.2015 22:47
quelle