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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 祁振朋 中级黑马   /  2013-3-19 00:35  /  1432 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Exc0 extends Exception{}

  2. class Exc1 extends Exc0{}

  3. class Demo
  4. {
  5. public static void main(String[] args)
  6. {
  7. try
  8. {
  9. throw new Exc1();
  10. }
  11. catch(Exception e)
  12. {
  13. System.out.println("Exception");
  14. }
  15. catch(Exc0 e)
  16. {
  17. System.out.println("Exc0");
  18. }
  19. }
  20. }
复制代码
求大神帮我分析一下代码执行过程,对异常比较晕。

点评

记得及时处理帖子哦,继续追问,或将分类改成【已解决】,谢谢  发表于 2013-3-23 08:39

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

1 个回复

倒序浏览
貌似你的代码有点问题,一般一个try对应多个catch的情况下,级别一般是从低到高的,也就是是说,你捕获异常的顺序应该是Exco、Exception,这样写的话,就可以这样分析了,首先你把异常抛给了Exc1,exc1并没有处理异常,就来到了Exco,,如果Exce0没有捕获到,就执行级别最高的Exception了!!!

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马