java: попробуй, наконец, блокирует выполнение [duplicate]
На этот вопрос уже есть ответ:
Всегда ли выполняется блок finally на Java? 46 ответов Странное наконец поведение? 7 ответов Я запутался в выполнении try-finally, когда оно существуетreturn;
в блоке try. В моем понимании, блок 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 не выполняется? Кто-нибудь может мне помочь с этим?