См. следующий код и объясните поведение вывода.
public class MyFinalTest {
public int doMethod(){
try{
throw new Exception();
}
catch(Exception ex){
return 5;
}
finally{
return 10;
}
}
public static void main(String[] args) {
MyFinalTest testEx = new MyFinalTest();
int rVal = testEx.doMethod();
System.out.println("The return Val : "+rVal);
}
}
В результате возвращается Val: 10.
Eclipse показывает предупреждение: finally block does not complete normally
.
Что происходит с оператором return в блоке catch?