黑马程序员技术交流社区

标题: 关于什么时候用RuntimeException [打印本页]

作者: 路西法    时间: 2014-4-5 21:38
标题: 关于什么时候用RuntimeException
关于什么时候用RuntimeException,个人比较迷糊,哪位大神能给个解释
作者: _Water    时间: 2014-4-5 21:44
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. }
复制代码

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




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