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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 路西法 中级黑马   /  2014-4-5 21:38  /  1900 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关于什么时候用RuntimeException,个人比较迷糊,哪位大神能给个解释

5 个回复

倒序浏览
Exception 中有一个特殊的类异常RuntimeException
运行时异常。

如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。

如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过。

之所以不用在函数上声明,是因为不需要让调用者处理。
当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。

自定义异常时:如果此异常的发生,无法在继续进行运算,
就让自定义异常继承RuntimeException。
  1. class FushuException extends RuntimeException
  2. {
  3.         FushuException (String msg)
  4.         {
  5.                 super(msg);
  6.         }
  7. }
  8. class Demo
  9. {
  10.         int div (int a,int b)
  11.         {
  12.                 if (b==0)
  13.                         throw new ArithmeticException("被0除了");
  14.                 if (b<=0)
  15.                         throw new FushuException("除数为负数了");
  16.                 return a/b;
  17.         }
  18. }
复制代码

评分

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

查看全部评分

回复 使用道具 举报
即使不编写异常处理的程序代码,依然可以编译成功,而这种异常必须是在程序运行时才有可能发生,例如数组的索引越界等。
回复 使用道具 举报
当由于不是你的原因而是因为别人的原因而导致的异常,需要程序员自己去调整代码,这时候就需要抛出RunTimeException异常
回复 使用道具 举报
简单地说,就是你要是想让程序,再出现到某个异常时,直接停止运行,那么这时你就可以用这个异常!
回复 使用道具 举报
RuntimeException 意思是运行时出现的异常,代码本身有bug,需要写代码的自己来纠正,
但这个bug并不是说用try-catch就可以搞定的,在这儿try-catch没啥意义。
需要自己来检查代码。

评分

参与人数 1黑马币 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马