A catch部分捕捉到异常情况时,才会执行finally部分
B 当try区段的程序发生异常时,才会执行finally部分
C 当try区段不论程序是否发生错误及捕捉到异常情况,都会执行finally部分
D 以上都是
考点:考察求职者对异常处理的掌握
出现频率:★★★★★
【面试题分析】
在Java语言的异常处理中,finally块的作用就是为了保证无论出现什么情况,finally块里的代码一定会执行。
由于程序执行return就意味着结束了对当前函数的调用并跳出这个函数体,因此任何语句执行都要放在return前执行(除非碰到exit函数),因此finally块里面的函数也是在return前执行的。
如果try-finally或者catch-finally中都有return语句,那么finally中的return语句会覆盖别处的,最终返回到调用者那里的是finally中的return值。
所以参考答案是(C)