黑马程序员技术交流社区

标题: 关于异常的小问题 [打印本页]

作者: 唐林渊    时间: 2012-3-28 00:41
标题: 关于异常的小问题
想请教大家一个问题

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

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




作者: 和心愿    时间: 2012-3-28 09:06
Exception 是所有异常类的父类,上面是IO异常,可以抛Exception异常也可以抛IOExcetpion异常。但一般是出现哪个异常就抛哪个,用Exception一般是为了省事,但是范围过大,不利于发现具体错误原因。
但是还有一点是需要注意的,抛异常时先抛小的再抛大的,如果有两处异常要抛第一个用了Exception了第二个就不能是IOException了。

作者: 唐林渊    时间: 2012-3-28 12:44
贠(yun)靖 发表于 2012-3-28 01:09
Exception 是IOException 异常他爹  任何异常都可以抛Exception的  但是这样的话在出现多个异常的时候  都 ...

了解        




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