黑马程序员技术交流社区

标题: 异常处理catch块代码问题 [打印本页]

作者: Nathan矫立伟    时间: 2014-6-13 23:42
标题: 异常处理catch块代码问题
  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.                 }
  14.                 catch(Exc0 e)
  15.                 {
  16.                         System.out.println("Exc0");
  17.                 }
  18.         }
  19. }
复制代码
如果是最大的异常放在最前面处理了,也就是后面的小异常无需再做处理了,应该也说得过去吧?
最大的异常放在最后处理,请问这是规则规定还是人们习惯性的做法?


作者: ☆枫の云    时间: 2014-6-14 00:02
必须是规定啊,严格来说应该是抛什么异常就捕捉什么异常,是不能直接捕捉Exception的,只不过视频示例里老师好多为了图省事而且代码便于观看,都直接捕捉一个Exception就完事儿了,后面这样的会很多,还有好多例子异常直接就抛出去了,不过这样写不规范,老毕说我们自己写都得抛什么捕捉什么,不过有时候还是懒,哈哈,也就直接抛了。。
作者: alive    时间: 2014-6-14 00:12
最大的异常放前面,后面的代码就执行不到了,编译时就会报错
作者: sun_jun    时间: 2014-6-15 12:51
这是规定!并且还是有原因的!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2