finally总是会被执行,即使try中有break、continue、return这样的语句,如:
public class FinallyTest
{
public static void main(String[] args)
{
int i;
for (i = 0; ;i++)
{
try
{
if (i == 0)
continue;
else if (i == 1)
break;
}
finally
{
System.out.println("loop " + i + " ends");
}
}
try
{
return;
}
finally
{
System.out.println("return ends");
}
}
}
//output
/*
loop 0 ends
loop 1 ends
return ends
*/
另外,从这个例子可以看出,不写catch,直接try-finally配对也是可以的。