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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王训印 中级黑马   /  2015-7-29 08:14  /  129 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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

自定义异常时,如果该异常的发生,无法再继续进行运算,
就让自定义异常继承RuntimeException.

对于异常分两种:
1,在编译时被检测的异常。
函数内容抛,函数上抛,调用者要么抛 要么捕获。
2,编译时不被检测到的异常(运行时异常。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. if(b<0)
  12. throw new FushuException("出现了除数为负数了");
  13. }
  14. class ExceptionDemo4
  15. {
  16. public static void main(String[] args)
  17. {
  18. Demo d = new Demo();
  19. int x=div(4,-1);
  20. System.out.println("x="+x);
  21. System.out.println("over");
  22. }
  23. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马