当前位置: 代码迷 >> J2SE >> try-finally有关问题 求高手解答
  详细解决方案

try-finally有关问题 求高手解答

热度:9347   发布时间:2013-02-25 00:00:00.0
try-finally问题 求高手解答
static int n(){
int k=0;
try{
k+=1;(1)
return 999;(2)
}
finally{
k+=1;(3)
}
}
public static void main(String[] args) {
System.out.println(n());
}

为什么将return 999;改为return k;执行顺序就变了呢?
当为return 999时,顺序为 (1)(3)(2)
当为return k时,顺序为(1)(2)(3)(2)

------解决方案--------------------------------------------------------
这个问题,板块里问了很多次了。
次序确实一直是先return。

只不过return k的时候,就把k付给了return。
所以finally即使k+=1了,return还是原来return没+1前的k。 



------解决方案--------------------------------------------------------
http://www.ticmy.com/?p=56
  相关解决方案