例外を型パラメータで渡す
メソッドがスローする例外を型パラメータで指定することができたりします。
// 型パラメータでスローする例外を指定できるクラス class Proc<E extends Exception> { void call() throws E {} }
Proc<IOException> a = null; Proc<IllegalArgumentException> b = null; // aはIOExceptionをスローするのでキャッチしないといけない try { a.call(); } catch (IOException e) { } // aはRuntimeExceptionをスローするのでキャッチしなくてもOK b.call();
いまいち、これだ!という使い道は思いつかないんだけど。