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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 騛鹏 中级黑马   /  2013-3-15 09:51  /  1360 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 騛鹏 于 2013-3-15 15:13 编辑

  1. <P> int div (int a, int b)  是否添加throws Exception  结果一样都能检测异常。 那么添加意义何在? 怎么讲更安全?</P>
复制代码
  1. class Demo
  2. {
  3. int div(int a, int b)//throws Exception
  4. {
  5. return a/b;
  6. }
  7. }
  8. class ExceptionDemo
  9. {
  10. public static void main(String[] args)
  11. {
  12. Demo d = new Demo();
  13. try
  14. {
  15. int x = d.div(4,0);
  16. System.out.println("x="+ x);
  17. }
  18. catch (Exception e)
  19. {
  20. e.printStackTrace();
  21. }
  22. System.out.println("over");
  23. }
  24. }
复制代码

点评

提出了问题,一定要对给你回答的人做出相应的回复;如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-15 12:46

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
我很少抛出异常都用try,
在try里有10行代码,第一行就出错了,程序就停止了,
切记讲会出现异常的代码写在try catch 外部,因为程序内一旦出现异常,那么下面的代码还要走。
希望对您有帮助。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

回复 使用道具 举报
throws用于声明可能抛出的各种异常,但异常并不一定出现,当异常抛出时,并未定义抛出给某个对象,谁调用谁去进行处理,如果不throws,调用者是不知道是否有异常的,只有在运行后才知道有异常才会去处理,例如楼主你的程序,你可以把try catch去掉,程序编译也不会出错,只有在运行时才报错,而加上throws,这就告诉了方法的调用者:我这个方法可能会有异常产生,你调用的时候需要进行处理,所以声明了异常就必须抛出或者处理异常,一般都是对异常进行try catch块进行处理,不处理就会出现编译错误。java的方法大多都是需要被调用的,不是只用一次,而具体情况对异常的处理也不一样,所以需要使用throws抛出,由调用者决定怎么处理异常,而不是你由决定异常该怎么处理。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
java异常分为编译异常和运行异常,抛出异常,可以很清楚知道程序出现问题的位置,当然不抛出异常,java虚拟机也会默认抛出,但虚拟机也会采用默认的处理方式,如编译不通过,自己抛出异常更有助于我们调试程序。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

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