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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐林渊 黑马帝   /  2012-3-28 00:41  /  2107 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

想请教大家一个问题

我在IO中做题,要抛IO异常大家都懂的,但我抛Exception 和IO有区别吗?我感觉两者都可以 的??

第二就是
try
{}
catch(IOException e)还有就是这个地方我只填上Exception可以吗?
{
}

6 个回复

倒序浏览
Exception 是IOException 异常他爹  任何异常都可以抛Exception的  但是这样的话在出现多个异常的时候  都被一同抛出去了
  那么调用者就不知道 这个异常到底是什么异常了  也就是隐藏了异常信息了  这样写代码很不规范  抛异常最好是什么异常就抛什么  不过确实比较麻烦‘
如果是一个异常的话  抛Exception异常 就显得有点大题小做了   
  而catch中 肯定也可以用Exception接受了啊   比老师还专门举例子说了  印象很很  说一个人给另外一个人说我感冒了  而另外一个人说那赶紧动手术撒  赶紧的
   而这个例子中的另外一个人 就是代表的 catch语句         
回复 使用道具 举报
1.Exception是所有异常类的父类,上面是IO异常,可以抛Exception异常也可以抛IOExcetpion异常。但一般是出现哪个异常就抛哪个,用Exception一般是为了省事。
2.catch()中可以用Exception,但不规范也不鼓励这样写。
catch(){}中一般还会有异常日志信息。
回复 使用道具 举报
1.异常不精确,编译运行时,显示的错误不便于找出来
1.不高效
回复 使用道具 举报
异常的关系如下:
java.lang.Object
  java.lang.Throwable
      java.lang.Exception
          java.io.IOException
    IOException是Exception的子类,抛出Exception当然可以但是范围过大,不利于发现具体错误原因。
    而catch中可以用Exception e代替IOException e.



回复 使用道具 举报
Exception 是所有异常类的父类,上面是IO异常,可以抛Exception异常也可以抛IOExcetpion异常。但一般是出现哪个异常就抛哪个,用Exception一般是为了省事,但是范围过大,不利于发现具体错误原因。
但是还有一点是需要注意的,抛异常时先抛小的再抛大的,如果有两处异常要抛第一个用了Exception了第二个就不能是IOException了。
回复 使用道具 举报
唐林渊 黑马帝 2012-3-28 12:44:36
7#
贠(yun)靖 发表于 2012-3-28 01:09
Exception 是IOException 异常他爹  任何异常都可以抛Exception的  但是这样的话在出现多个异常的时候  都 ...

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