java: intenta finalmente bloquear la ejecución [duplicar]
Esta pregunta ya tiene una respuesta aquí:
¿Un bloque finalmente siempre se ejecuta en Java? 46 respuestas ¿Extraño finalmente comportamiento? 7 respuestas Estoy confundido acerca de la ejecución de intentar finalmente cuando existereturn;
en el bloque de prueba. Según tengo entendido, el bloque finalmente siempre se ejecutará, es decir, antes de volver al método de llamada. Al considerar el siguiente código simple:
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;
}
}
}
El resultado impreso es en realidad 1. ¿Significa esto que el bloque finalmente no se ejecuta? ¿Puede alguien ayudarme con eso