public class Test
{
static int f1(int i)
{
try
{
if(i==0)
throw new Excepiton();
i++;
return i;
}catch(Excepiton e)
{
i--;
return ;
}
finally
{
i++;
System.out.println("释放资源时i的值:"+i);
}
public static void main(String args[])
{
System.out.println("掉用方法返回i的值:"f1(5));
}
}
其运行的结果是:释放资源时i的值:7
调用方法返回i的值:6
因为返回语句在finally之前先执行,如果写在finally之后,结果就会相同
try-catch-finally在有返回值时返回的结果
最新推荐文章于 2024-09-10 13:42:45 发布