今天讲了Java的错误处理,感觉挺出人意外的一点是在一个小程序段里:
public int adv(int a, int b)
{
int result = 0;
try
{
result = a/b;
return result;
}catch(Exception e)
{
e.printStackTrace();
}finally
{
Sys.out.println("this is finally");
}
return 0;
}
如果调用adv(5, 0),它的结果当然是打印"this is finally",那么如果是adv(10, 5)呢,它的最终结果是什么呢?
当时出人意料的结果不是2,而是
2
"this is finally"
finally在这其中起到了关键的作用,无论程序出不出错都会执行finally下的程序段代码。
本文探讨了Java中错误处理机制的应用,特别是try-catch-finally结构的行为。通过具体示例展示了即使在正常流程下finally块也会被执行的特点。

被折叠的 条评论
为什么被折叠?



