Bonjour,
Un exemple vaut mieux qu'un grand discours :
(Le fait que la classe soit package-private est important.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public interface MyInterface { public int do (); } class MyClass extends MyInterface { @Override public int do () { try { return ...; } catch (IOException e) { // Que faire avec la checked exception } } }
Voilà donc, je ne sais pas quoi faire avec l'IOException. Pour moi, la seule solution (évidente) est de l'encapsuler dans une MyException (extends RuntimeException), mais rien ne dit dans l'interface publique que cette MyException peut être renvoyée. De plus, selon moi, une RuntimeException n'est lancée que lors d'une erreur de programmation (typiquement un manque de vérification préalable, voir NullPointerException, IllegalArgumentException, ClassCastException, ArithmeticException, etc.)
D'avance merci.
Partager