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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  今天看书,看到了处理异常这一块,有多个catch块时,要从小到大的排.catch块不像重载的方法会被挑出最符合的项目,使用catch块时,java虚拟机只会重头开始往下找到第一个符合范围的异常处理块,如果第一catch就是catch(Excepton e),则编译器会知道其余的都没有用处.
  这里就涉及到了写代码的先后顺序,顺序错了代码可能无法通过编译或者得不到自己预期的结果,我就是想问下,在写哪些代码块的时候要注意先后顺序,什么时候要注意先后顺序?  

点评

楼主问的这种多重总结性的问题,建议自己在遇到的时候加以总结比较好,否则,别人就算一下子全告诉你了,可能你也不清楚为什么要那样!  发表于 2012-8-4 18:54

评分

参与人数 1黑马币 +15 收起 理由
田建 + 15 加油!

查看全部评分

4 个回复

倒序浏览
当你的抓取的异常有父类异常存在时,你就需要把父类异常往后放
因为如果在前面放上了父类的话
他会屏蔽掉在其后边的所有的它的子类异常
因为这是类的多态所导致的
记住有父类往后放
先获取比较细的异常
再获取范围更广的异常
否则子类异常会被包含其中处理掉。
会使问题隐藏而导致未知隐患。。。
回复 使用道具 举报
侯宪博 发表于 2012-8-4 11:41
当你的抓取的异常有父类异常存在时,你就需要把父类异常往后放
因为如果在前面放上了父类的话
他会屏蔽掉在 ...

哥们我问的不是这个意思我,不是问为什么catch要排序,我的意思是有哪些代码块和catch一样在书写的时候需要排顺序
回复 使用道具 举报
系磊 发表于 2012-8-4 16:40
哥们我问的不是这个意思我,不是问为什么catch要排序,我的意思是有哪些代码块和catch一样在书写的时候需 ...

if..else
判断范围的时候应该注意
回复 使用道具 举报
你这个问题是最基本的问题!
无论做什么事,都要有顺序。
软件的代码更是有严谨的逻辑,
因此,写代码都要注意顺序,都
要清楚明白前后的顺序关系。毕
老师视频中经常画图,就是让我们
明白程序的执行顺序啊。
再具体点,你可以看看语句的结构
:循环语句,条件语句,顺序语句,其它语句
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马