黑马程序员技术交流社区
标题:
关于异常的执行
[打印本页]
作者:
刘吉庆
时间:
2013-4-4 18:59
标题:
关于异常的执行
本帖最后由 刘吉庆 于 2013-4-4 23:01 编辑
如题,如下代码执行结果为什么不是:
caught Exception
no Exception
代码:
public class ExceptionTest {
public static void main(String args[]) {
try {
new ExceptionTest().methodA(5);
} catch (IOException e) {
System.out.println("caught IOException");
} catch (Exception e) {
System.out.println("caught Exception");
}finally{
System.out.println("no Exception");
}
}
void methodA(int i) throws Exception {
if (i%2 != 0)
throw new IOException("methodA IOException");
}
}
复制代码
作者:
袁杰
时间:
2013-4-4 19:08
作者:
袁杰
时间:
2013-4-4 19:09
我试了一下,是输出
caught Exception
no Exception
作者:
刘吉庆
时间:
2013-4-4 19:16
袁杰 发表于 2013-4-4 19:09
我试了一下,是输出
caught Exception
no Exception
我执行死活都是
caught IOException
no Exception
作者:
arthur
时间:
2013-4-4 19:19
因为Exception是异常的最高父类,写在最底端,之前的IOException是其子类能处理掉所抛的异常,就不会找父类去处理了
作者:
HM何伟
时间:
2013-4-4 20:18
你确定,这是你的全部代码.自定义的那部分呢??
作者:
陈丽莉
时间:
2013-4-4 21:40
四楼的答案很明确咯~ 若还有问题,继续追问; 没有的话,请将帖子分类改成【已解决】哦~
作者:
刘吉庆
时间:
2013-4-4 23:02
我明白了,谢谢四楼的兄弟
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2