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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 剑魂 中级黑马   /  2013-11-10 00:49  /  1834 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于什么情况下自定义的异常类继承Exception,什么情况下继承RuntimeExceptiond这个地方还是不大清楚,求问,是不是继承RuntimeException让运行出现异常就终止程序,而继承Exception的是要对异常进行处理再能运行 ?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

3 个回复

倒序浏览
可以这么理解.毕老师是这样总结的:
异常有两种:
编译时被检测异常;
        该异常在编译时如果没有处理(没有抛,没有try),结果就是编译失败;
        该异常被标识,代表可以被处理。
运行时异常(编译时不检测)
        在编译时,不需要处理,编译器不检查。
        该异常的发生,建议不处理,让程序停止,需要对代码进行修正。
回复 使用道具 举报
我的理解是这样的:继承RuntimeException主要原因是因为出现的异常我们无法处理,或者如果出现了异常,将会对后面的代码产生影响,使后面的代码所运算的结果变得没有意义。那我们就让程序在执行过程中遇到此类就让它停止,藉此提醒方法的调用者修正代码。
而继承Exception的主要原因是出现的异常在我们可以处理的范围内,即使出现了异常,对后面的代码没有什么影响,程序仍旧可以按照正确的结果进行运算。那我们就try-catch(),或者throws抛出。

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
帖子已分类,若仍有疑惑,可重新提问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马