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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冰深 中级黑马   /  2012-11-18 08:59  /  3773 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

          用返回值还是抛异常?
        比如说我要判断删除某个对象是否成功,是应该让这个被删除的对象在删除失败的时候抛异常还是让该对象的删除方法返回一个值呢?也就是说什么时候用返回值,什么时候用抛异常的方法来判断某个函数是否成功呢?!

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
1.异常:就是程序在运行时出现不正常情况。
2.异常由来:问题也是现实生活中的一个具体的事物,也可以通过java的类的形式进行描述,
并封装成对象。其实就是java对不正常情况进行描述后的对象体现,把问题封装成对象就是异常。
3.对于严重的问题,java通过Error类进行描述,一般不编写针对性代码对其进行处理。
4.对于非严重的问题,java通过Exception类进行描述,使用针对性处理方式进行处理。
5.在对异常处理时,要视情况而定,如果方法内部能够处理就尽量在内部进行处理,
  如果只能处理一部分,那就将另一部分其他异常进行抛出,
  一般不建议直接抛出异常,但如果异常的发生导致后面的程序运行没有意义或运行不了,
  那就抛出RuntimeException及其子类异常,让程序终止,由其调用者进行处理。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
刘菲 发表于 2012-11-18 09:52
1.异常:就是程序在运行时出现不正常情况。
2.异常由来:问题也是现实生活中的一个具体的事物,也可以通过j ...

谢谢:lol,这个了解,在写项目的时候有时候会自定义异常,比如说删除失败,可以自己定义一个删除失败的异常,可以用来判断一个void类型函数是否执行成功,很多时候异常是由某个变量为null引起,比如说php里面就没有很强大的异常处理,虽然有try catch,但很弱,一般就是判断是否为空位null等等。
回复 使用道具 举报
建议: 如果该方法需要返回值。就直接抛异常。让调用者去处理。
否则如果你内部处理了。又返回了结果(不正确的结果)。
而调用者调用后还不清楚。。那就太悲剧了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马