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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 337091921 中级黑马   /  2013-5-17 00:36  /  2742 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当参数不合法的时候,究竟是if else 判断后返回一个值还是直接来个Exception ?
    如果是 if else 的话,有什么好处 ?
    如果是 exception 的话,又有什么好处 ?
    或者是根据不同情况来定?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

8 个回复

倒序浏览
应该根据情况来定吧,就看程序需不需要抛出异常让上层处理了。如果需要那就用Exception,如果不需要就用if-else吧。我想是这样的!呵呵

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
个人觉得 if  else更人性化一点,如果直接来个Exception的话显得机器化,
但是if  else  有主观判断的含义,并不一定能达到纠正程序的结果,
而程序追求的就是精确,所以Exception还是更好一点!

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
一般都是抛一个运行时异常IllegalArgumentException;
对方即可以选择不处理,当发生异常时,对方又知道;

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
如果问题已解决请再次编辑,改为以解决,方便大家看帖,没有就继续追问
回复 使用道具 举报
如果这个错误考虑后期可能需要进行处理的话就用try
回复 使用道具 举报
张超 中级黑马 2013-5-31 11:51:49
7#
张林敏 发表于 2013-5-31 10:56
如果这个错误考虑后期可能需要进行处理的话就用try

没次看到你的头像都想笑,为了论坛的和谐,哥们求你换个图像把。
回复 使用道具 举报
其实这个问题每个人都有自己的答案。且每个人的答案都不相同。我个人的理解是这样的。
1 .if-else 方式的好处在于更贴近与逻辑思维,性能优于Exception。相对于Exception,其缺点是,不适合OOP,语义不明显,
不易于错误跟踪或错误提示较少,并且类型比较单一(比如利用C语言的原生类型)或者难以统一(比如C语言结构和宏定义)。

2. Exception方法的好处在于是业务实现代码和异常处理逻辑分离(代码相对清晰),try放业务实现代码,catch中处理异常情况。
在API设计中,可以设计Exception Handler来处理异常,使得层次分明。同时,更好的OOP的封装和多态性。缺点在于性能相对差。

要想详细了解你还是参考《疯狂java讲义》悟出自己的感想来。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
我不是归人,是个过客,哈哈~~来做个广告http://bbs.itheima.com/thread-52835-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马