java: tente finalmente bloqueia a execução [duplicado]
Esta pergunta já tem uma resposta aqui:
Um bloco finalmente sempre é executado em Jav 46 respostasStrange finalmente comportamento? respostas Estou confuso com a tentativa de finalmente executar quando existereturn;
no bloco try. No meu entendimento, o bloco final sempre será executado, ou seja, antes de retornar ao método de chamada. Ao considerar o seguinte código simples:
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;
}
}
}
O resultado impresso é realmente 1. Isso significa que o bloco final não é executado? Alguém pode me ajudar com isso