黑马程序员技术交流社区

标题: 异常 [打印本页]

作者: 管章鹏    时间: 2013-4-5 19:40
标题: 异常
本帖最后由 管章鹏 于 2013-4-6 10:21 编辑

看了异常,老师说Exception类是异常的祖宗类,是异常的基类,异常会捕获到错误信息,‘
但是一直搞不明白Error和Exception有什么区别么?使用上有什么不同么?
求大神们赐教啊
作者: 许庭洲    时间: 2013-4-5 19:58
1。Exception类表示在应用程序执行期间发生的错误;
2。System.Exception类是所有异常的基类型;
3。基类Exception存在两类异常:
     a.从SystemException派生的预定义公共语言运行库异常类;
     b.从ApplicationException派生的用户定义的应用程序异常类。
4.  在java中, Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
5.  在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。
作者: _王涛    时间: 2013-4-5 20:08
对于程序中出现的问题,java中划分为两种,一种是严重问题,一种是非严重问题。
对于严重问题,java通过Error来来进行描述。对于Error一般不编写针对性的代码对其进行处理。
对于非严重的问题,java通过Exception类进行描述。可以用针对性方式进行处理。
例如:
对于Exception我们可以通过以下方式进行处理:
try{
        需要被检测的代码;
   }catch(异常类 变量){
         处理异常的代码;
   }finally{一定要执行的语句;}

而对于Error不必编写针对性代码,只能查找原因所在。以达到避免Error的严重错误发生。

作者: 张正强    时间: 2013-4-5 20:16
      error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
      exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
作者: 王宝生    时间: 2013-4-6 08:05
二者现在已经没有什么区别了吧,在.net1.1的时候确实各有各的职责,但是后续的版本中他们的界限已经不是那么清晰了。
作者: 郑丹丹1990    时间: 2013-4-6 08:15
张正强 发表于 2013-4-5 20:16
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这 ...

哈哈,知识面真广,羡慕ing
作者: 管章鹏    时间: 2013-4-6 10:24
张正强 发表于 2013-4-5 20:16
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这 ...

哈哈,谢谢张兄哈,敬礼!




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