A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. /*
  2. 写出程序运行结果
  3. */
  4. class Test {

  5.         public static String output = "";
  6.         public static void foo(int i) {
  7.        
  8.                 try {
  9.                
  10.                         if(i == 1)
  11.                                 throw new Exception();
  12.                         output += "1";
  13.                 }
  14.                 catch(Exception e) {
  15.                
  16.                         output += "2";
  17.                         return;
  18.                 }
  19.                 finally {
  20.                
  21.                         output += "3";
  22.                 }
  23.                 output += "4";
  24.         }
  25.        
  26.         public static void main(String[] args) {
  27.        
  28.                 foo(0);
  29.                 System.out.println(output);
  30.                 foo(1);
  31.                 System.out.println(output);
  32.         }
  33. }
复制代码

7 个回复

正序浏览
学习了...Thanks
回复 使用道具 举报
运行结果是:
134
13423

第二个结果我还真愣了一下,后来发现是上一次的运行结果没有清空导致的。
这个程序只要记得finally是无论如何都要执行一般不会出错,大部分同学可能
会以为return后就不再执行finally里面的语句了。
回复 使用道具 举报
进来学习一下
回复 使用道具 举报
许愿じ☆VE杰 来自手机 中级黑马 2014-9-3 22:46:28
报纸
学习了~
回复 使用道具 举报
我刚刚看完这个,简直666啊
回复 使用道具 举报
恩,这题有意思的,要是将foo方法的返回值修改为int 然后在finally里面加上return   语句就更有意思了
回复 使用道具 举报
啊,见到异常头晕.....攻克ing
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马