天天看点

return和finally使用

在java中finally一般出现在try{}结构中,用于存放try结构中一定要执行的语句,如

  String s = "1";

  try{

   s = "2";

   System.out.println(s);

   if(s=="2")

    throw new Exception("h");

  }catch(Exception e){

   s = "3";   

   System.out.println(s);

  }finally{

   s = "4";

   System.out.println(s);

  } 

  s = "5";

  System.out.println(s);

输出的结果是2,3,4,5    (这里的逗号只用于显示)。上述语句非常清楚,但是在上述结构中加上return,就变得有些复杂了,如

  String s = "1";

  try{

   s = "2";

   System.out.println(s);

   return;

  }catch(Exception e){

   s = "3";   

   System.out.println(s);

  }finally{

   s = "4";

   System.out.println(s);

  } 

  s = "5";

  System.out.println(s);

输出的结果是2,4

也就是说在try结构中,虽然使用了return语句强制函数返回,不再往下执行,但实现上finally中的还是执行了。但除了finally外的其它语句不再被执行。

return和finally使用