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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jiangwenjun 高级黑马   /  2015-2-13 02:32  /  1463 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不运行,可以告诉我结果吗?:lol
  1. public class TestException {  
  2.     public TestException() {  
  3.     }  
  4.   
  5.     boolean testEx() throws Exception {  
  6.         boolean ret = true;  
  7.         try {  
  8.             ret = testEx1();  
  9.         } catch (Exception e) {  
  10.             System.out.println("testEx, catch exception");  
  11.             ret = false;  
  12.             throw e;  
  13.         } finally {  
  14.             System.out.println("testEx, finally; return value=" + ret);  
  15.             return ret;  
  16.         }  
  17.     }  
  18.   
  19.     boolean testEx1() throws Exception {  
  20.         boolean ret = true;  
  21.         try {  
  22.             ret = testEx2();  
  23.             if (!ret) {  
  24.                 return false;  
  25.             }  
  26.             System.out.println("testEx1, at the end of try");  
  27.             return ret;  
  28.         } catch (Exception e) {  
  29.             System.out.println("testEx1, catch exception");  
  30.             ret = false;  
  31.             throw e;  
  32.         } finally {  
  33.             System.out.println("testEx1, finally; return value=" + ret);  
  34.             return ret;  
  35.         }  
  36.     }  
  37.   
  38.     boolean testEx2() throws Exception {  
  39.         boolean ret = true;  
  40.         try {  
  41.             int b = 12;  
  42.             int c;  
  43.             for (int i = 2; i >= -2; i--) {  
  44.                 c = b / i;  
  45.                 System.out.println("i=" + i);  
  46.             }  
  47.             return true;  
  48.         } catch (Exception e) {  
  49.             System.out.println("testEx2, catch exception");  
  50.             ret = false;  
  51.             throw e;  
  52.         } finally {  
  53.             System.out.println("testEx2, finally; return value=" + ret);  
  54.             return ret;  
  55.         }  
  56.     }  
  57.   
  58.     public static void main(String[] args) {  
  59.         TestException testException1 = new TestException();  
  60.         try {  
  61.             testException1.testEx();  
  62.         } catch (Exception e) {  
  63.             e.printStackTrace();  
  64.         }  
  65.     }  
  66. }  
复制代码



6 个回复

倒序浏览
i=2
i=1
testEx2, catch exception
testEx2, finally; return value=false

testEx1, finally; return value=false

testEx, finally; return value=false
回复 使用道具 举报
不能被不同函数中同名变量搞糊了,再就是i/0会抛异常
回复 使用道具 举报
本帖最后由 sisel 于 2015-4-13 09:56 编辑

2,1 ,false,true,false,testEx2, catch testEx2, finally testEx1, catch testEx1, finally testEx, catch testEx, finally --printStackTrace
<<上面的判断错了。。。

1楼无误
回复 使用道具 举报
好复杂的程序,丝毫不动
回复 使用道具 举报
zhangjialin 发表于 2015-4-13 21:56
好复杂的程序,丝毫不动

这个嘛!证明要不你没有看到这个知识点,要不你没有把关键的点看出来!!!加油喔!!!:hug:
回复 使用道具 举报
看不懂,还没学到这个地方
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马