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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 善良的禽兽 中级黑马   /  2015-9-25 12:58  /  439 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java中所有捕获范围小的异常必须放在捕获范围大的异常之前, 否则程序在编译时候就会出现错误提示;

3 个回复

倒序浏览
恩,应该是这样,catch多个异常,抛出一个异常之后,会去找catch块中找合适的异常,这个合适就是找抛出异常本身以及父类的对象,如果将顶层的异常写在最上面,抛出一个异常之后会按照顺序进行查找,那么就进到了顶层异常catch块,就讲捕获异常范围扩大了。
回复 使用道具 举报
这个就是 擒贼先擒王了 ,把大的异常捕获了 ,再去捕获小的异常就没有意义了
捕获了大的异常 ,那 异常里的代码就执行掉了 ,不会去执行其他异常里的代码了 ,譬如你把  Exception捕获了 ,又去捕获了一个  IOException  那么 IOException是永远执行不到的 ,所以就报错了
就像一个方法  如果 return 了,你在return下面写代码也就没有意义了 ,因为永远执行不到 ,所以就报错了
回复 使用道具 举报
徐慧shanghai 发表于 2015-9-25 15:20
这个就是 擒贼先擒王了 ,把大的异常捕获了 ,再去捕获小的异常就没有意义了
捕获了大的异常 ,那 异常里 ...

原来是这个原因,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马