try {
System.out.println("try1");
return 1;
}
finally {
System.out.println("finally1");
return 2;
}
Here clearly output is
try1
finally1
2
return inside try is never executed. But compiler does not throw unreachable code error. Why?