次のコードを検討してください
public void myMethod1() {
try {
this.getClass().getMethod("myMethod").invoke(this);
} catch (Exception e) {
throw e;
}
}
public void myMethod1_fixed() throws Exception {
try {
this.getClass().getMethod("myMethod").invoke(this);
} catch (Exception e) {
throw e;
}
}
public void myMethod2() {
try {
this.getClass().getMethod("myMethod").invoke(this);
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
} catch (Exception e) {
throw e;
}
}
myMethod1()
Exception e
スローされたものを処理しないことについて不平を言っていましたが、これException
はチェックされた例外であり、あなたはそれを処理することを余儀なくされているため、私は理解していmyMethod1_fixed()
ますthrows Exception
。
これmyMethod2()
で も投げException e
ますが、 なかったのに嬉しかったですthrows Exception
、意味Exception
は未チェックですか?