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

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

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

3 个回复

正序浏览
徐慧shanghai 发表于 2015-9-25 15:20
这个就是 擒贼先擒王了 ,把大的异常捕获了 ,再去捕获小的异常就没有意义了
捕获了大的异常 ,那 异常里 ...

原来是这个原因,学习了
回复 使用道具 举报
这个就是 擒贼先擒王了 ,把大的异常捕获了 ,再去捕获小的异常就没有意义了
捕获了大的异常 ,那 异常里的代码就执行掉了 ,不会去执行其他异常里的代码了 ,譬如你把  Exception捕获了 ,又去捕获了一个  IOException  那么 IOException是永远执行不到的 ,所以就报错了
就像一个方法  如果 return 了,你在return下面写代码也就没有意义了 ,因为永远执行不到 ,所以就报错了
回复 使用道具 举报
恩,应该是这样,catch多个异常,抛出一个异常之后,会去找catch块中找合适的异常,这个合适就是找抛出异常本身以及父类的对象,如果将顶层的异常写在最上面,抛出一个异常之后会按照顺序进行查找,那么就进到了顶层异常catch块,就讲捕获异常范围扩大了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马