tryブロックにreturn;
が存在する場合、try-finally実行について混乱します。私の理解では、finallyブロックは常に実行されます。つまり、呼び出し元のメソッドに戻る前に実行されます。java:finallyブロックの実行を試みてください
public class TryCatchTest {
public static void main(String[] args){
System.out.println(test());
}
static int test(){
int x = 1;
try{
return x;
}
finally{
x = x + 1;
}
}
}
結果は実際には1です。これはfinallyブロックが実行されていないことを意味しますか?誰もそれで私を助けることができますか?
なぜ、 'System.out.println()'をfinallyブロックに追加して自分自身を見ていないのですか?私はそれが実行されると思うが、返される値は1です。 –
try catchを使用すると、特定のタイプの例外(例:IOException、NullPointerExceptionなど)をcatchできます。とにかくキャッチの前にいくつかのコードを実行してください。 – RicardoE
[こちらは] upvoting中に考えることについて何か – keyser