-2

次のコードを検討してください

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は未チェックですか?

4

1 に答える 1