黑马程序员技术交流社区

标题: 关于异常的执行 [打印本页]

作者: 刘吉庆    时间: 2013-4-4 18:59
标题: 关于异常的执行
本帖最后由 刘吉庆 于 2013-4-4 23:01 编辑

如题,如下代码执行结果为什么不是:
caught Exception
no Exception
代码:
  1. public class ExceptionTest {
  2.         public static void main(String args[]) {
  3.                 try {
  4.                         new ExceptionTest().methodA(5);
  5.                 } catch (IOException e) {
  6.                         System.out.println("caught IOException");
  7.                 } catch (Exception e) {
  8.                         System.out.println("caught Exception");
  9.                 }finally{
  10.                         System.out.println("no Exception");
  11. }
  12.         }

  13.         void methodA(int i) throws Exception {
  14.                 if (i%2 != 0)
  15.                         throw new IOException("methodA IOException");
  16.         }
  17. }
复制代码

作者: 袁杰    时间: 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