次のコードを検討してください
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は未チェックですか?