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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Eagle 高级黑马   /  2014-10-18 16:29  /  1136 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Eagle 于 2014-10-28 07:12 编辑

求解答


  1. class Demo
  2. {
  3.         int div(int a,int b)//throws ArithmeticException//这个变量的定义时怎么回事??。。
  4.         {
  5.                 if (b<0)
  6.                 {
  7.                         throw new FuShuException("除数为负数了");
  8.                 }
  9.                 if (b == 0)
  10.                 {
  11.                         throw new ArithmeticException("被零除了");
  12.                 }
  13.                 return a/b;
  14.         }
  15. }
复制代码



顺便再分享一点点我自己对异常处理得理解吧
呵呵,有不对的大神不要笑话我啊。帮我指出来一下。谢谢

  1. /*


  2. 特殊的异常:

  3. Exception有一个特殊的子类异常RuntimeException 运行时异常。

  4. 如果函数内抛出该异常,函数上可以不用声明,编译一样通过。
  5.         之所以不用再函数上声明,是因为不需要调用者处理。
  6.         当该异常发生,希望程序停止,因为在运行时,出现了无法运算的情况,希望停止程序后,由程序员对代码进行修正。

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


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



  10. 对于异常分两种:
  11. 1:编译时被检测的异常。


  12. 2:编译时不被检测的异常(运行时异常        RuntimeException以及其子类)


  13. */
复制代码

评分

参与人数 1黑马币 +1 收起 理由
杨佳名 + 1

查看全部评分

1 个回复

倒序浏览
"ArithmeticException"这个不是变量 这是Exception的子类  异常的定义——抛出异常时可以抛出exception或者它的子类
实在不知道抛出的是什么异常就写Exception 如果知道就可以写抛出什么异常 这里抛出的是 数学类的异常
最后那个是Exception一个特殊的子类,意思是如果你抛出的是 运行类的异常(异常抛给别人,别人要么接着抛出,要么处理,不然编译就会报出错误,就是代码不正确 有异常情况),你抛给的人可以不用抛出,你也可以不对此异常处理,编译照常通过(因为它很特殊,jvm对于它的默认处理是不断向上抛出)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马