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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

rt,搞不太懂,谁能用大白话说一下。。。

评分

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

查看全部评分

4 个回复

倒序浏览
    LZ,这是我的一些理解,希望可以帮到你。
  在可能会出现exception的地方,要使用try-catch或者throws或者两者都要。我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-catch掉这个exception;如果希望外部知道,则在catch到之后把exception直接抛出或者抛出自定义的exception。
  Exception异常代表“无法避免的异常” 如io异常、、往往这类异常是由于外部原因造成的,程序本身无法保证他们不发生,所以这类异常必须捕获。如果在函数内部无法处理这个异常必须再次抛出(在函数后面用throws语句),如果什么都不做就出现编译错误。
  RuntimException是指“可以避免的异常”,如 null引用异常,这类异常都是由程序内部原因造成的,是可以避免的。对于这类异常可以忽略他们,但一旦发生程序就会异常终止。这类异常对debug非常有帮助,当然,如果需要也可以catch。

评分

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

查看全部评分

回复 使用道具 举报
我的简单理解,必须让程序停下来处理的异常用runtimeexception  
                     不用让程序停下来直接可以在内部处理用exception
回复 使用道具 举报

普通Exception编译时被检测到,运行时异常RuntimeException以及其子类编译时不被检测到,
RuntimeException发生时,都是无法再继续进行运算的情况,不需要让调用者处理,当该异常发生,程序代码一般都需要进行修正。

你要是声明出去,调用者肯定会对其进行处理,这样就把这个无法再继续运算的异常掩盖了.
回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马