黑马程序员技术交流社区
标题:
有趣的一题!
[打印本页]
作者:
jiangwenjun
时间:
2015-2-13 02:32
标题:
有趣的一题!
不运行,可以告诉我结果吗?:lol
public class TestException {
public TestException() {
}
boolean testEx() throws Exception {
boolean ret = true;
try {
ret = testEx1();
} catch (Exception e) {
System.out.println("testEx, catch exception");
ret = false;
throw e;
} finally {
System.out.println("testEx, finally; return value=" + ret);
return ret;
}
}
boolean testEx1() throws Exception {
boolean ret = true;
try {
ret = testEx2();
if (!ret) {
return false;
}
System.out.println("testEx1, at the end of try");
return ret;
} catch (Exception e) {
System.out.println("testEx1, catch exception");
ret = false;
throw e;
} finally {
System.out.println("testEx1, finally; return value=" + ret);
return ret;
}
}
boolean testEx2() throws Exception {
boolean ret = true;
try {
int b = 12;
int c;
for (int i = 2; i >= -2; i--) {
c = b / i;
System.out.println("i=" + i);
}
return true;
} catch (Exception e) {
System.out.println("testEx2, catch exception");
ret = false;
throw e;
} finally {
System.out.println("testEx2, finally; return value=" + ret);
return ret;
}
}
public static void main(String[] args) {
TestException testException1 = new TestException();
try {
testException1.testEx();
} catch (Exception e) {
e.printStackTrace();
}
}
}
复制代码
作者:
wenyu
时间:
2015-2-13 12:47
i=2
i=1
testEx2, catch exception
testEx2, finally; return value=false
testEx1, finally; return value=false
testEx, finally; return value=false
作者:
major2015
时间:
2015-4-12 14:10
不能被不同函数中同名变量搞糊了,再就是i/0会抛异常
作者:
sisel
时间:
2015-4-13 09:51
本帖最后由 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
好复杂的程序,丝毫不动
作者:
jiangwenjun
时间:
2015-4-13 22:57
zhangjialin 发表于 2015-4-13 21:56
好复杂的程序,丝毫不动
这个嘛!证明要不你没有看到这个知识点,要不你没有把关键的点看出来!!!加油喔!!!:hug:
作者:
Im海洋
时间:
2015-4-27 07:15
看不懂,还没学到这个地方
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2