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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 管章鹏 中级黑马   /  2013-4-5 19:40  /  1734 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 管章鹏 于 2013-4-6 10:21 编辑

看了异常,老师说Exception类是异常的祖宗类,是异常的基类,异常会捕获到错误信息,‘
但是一直搞不明白Error和Exception有什么区别么?使用上有什么不同么?
求大神们赐教啊

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

6 个回复

倒序浏览
1。Exception类表示在应用程序执行期间发生的错误;
2。System.Exception类是所有异常的基类型;
3。基类Exception存在两类异常:
     a.从SystemException派生的预定义公共语言运行库异常类;
     b.从ApplicationException派生的用户定义的应用程序异常类。
4.  在java中, Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
5.  在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error 的任何子类,因为这些错误可能是再也不会发生的异常条件。
回复 使用道具 举报
对于程序中出现的问题,java中划分为两种,一种是严重问题,一种是非严重问题。
对于严重问题,java通过Error来来进行描述。对于Error一般不编写针对性的代码对其进行处理。
对于非严重的问题,java通过Exception类进行描述。可以用针对性方式进行处理。
例如:
对于Exception我们可以通过以下方式进行处理:
try{
        需要被检测的代码;
   }catch(异常类 变量){
         处理异常的代码;
   }finally{一定要执行的语句;}

而对于Error不必编写针对性代码,只能查找原因所在。以达到避免Error的严重错误发生。
回复 使用道具 举报
      error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
      exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
二者现在已经没有什么区别了吧,在.net1.1的时候确实各有各的职责,但是后续的版本中他们的界限已经不是那么清晰了。
回复 使用道具 举报
张正强 发表于 2013-4-5 20:16
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这 ...

哈哈,知识面真广,羡慕ing
回复 使用道具 举报
张正强 发表于 2013-4-5 20:16
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这 ...

哈哈,谢谢张兄哈,敬礼!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马