论坛首页 Java企业应用论坛

面试题:用Exception异常还是if判断

浏览 34399 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (13) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-08-26  
wpfwupengfeiwpf 写道
呵呵,个人喜欢用if else 这样可以给用户更好的提示,throw难道要抛出异常给用户看


当然需要把异常提供给客户看。根据不同的异常,放回不同的提醒页面给客户。
0 请登录后投票
   发表时间:2010-08-26  
http://www.blogjava.net/stone2083/archive/2010/07/09/325649.html
0 请登录后投票
   发表时间:2010-08-26  
java 的Exception 机制是在c和c++的异常处理基础上做的封装,用来避免程序员自己做处理而导致错误,性能肯定没有自己处理好,但是安全性高,需要什么只有根据情况来定。
0 请登录后投票
   发表时间:2010-08-26  
如此踊跃的发言,真的很欣慰啊

很感谢大家的讨论啊,学到了很多 ...

面试的时候我的回答是:

如果是共用的接口,并且需要用返回值的,就用Exception,让调用方知道该方法可能出现的异常(checked exception).

如果只是个类的内部私有方法,直接if else了.

看了这么多讨论.貌似也挨着到边了.呵呵...
0 请登录后投票
   发表时间:2010-08-26  
ldbjakyo 写道
hxbot 写道
if else    面向过程
exception  面向对象



很对~~正解,补充一句,exception性能劣于if else  ,纯面向对象设计的话很多exception设计,但性能很差


都没错 ,具体用那种   一看你自己的编程风格 , 二看是否可以不处理 , 如果简单处理的话就直接抛出exception

就ok了 , 这个得看项目需求了 没有一成不变的
0 请登录后投票
   发表时间:2010-08-26  
hxbot 写道
if else    面向过程
exception  面向对象

一般情况建议用if 
0 请登录后投票
   发表时间:2010-08-26  
怪不得那些老鸟都懒的来JE了
这帖子的质量是越来越差
这问题在03年的时候 就讨论过 比现在这傻了吧唧的9页质量高多了


为什么 Java 中要使用 Checked Exceptions
0 请登录后投票
   发表时间:2010-08-26  
就此改变 写道
hxbot 写道
if else    面向过程
exception  面向对象

一般情况建议用if 

我认为只要正确使用异常,那么性能问题是不存在的。异常是程序因为一些特殊的原因出现错误而产生的。只要你不是错误使用异常,那么就不会产生性能问题。
有人说“if else面向过程,exception面向对象”,这是错误的。面向过程的语言也有异常处理机制。比如C的异常处理机制:setjmp和longjmp,甚至现在汇编语言都带异常功能了。

上次我发帖以为C和C++没异常处理机制,是我搞错了。用Java时间太长,加上当初学C/C++时间太短,都忘记了。向大家道歉。
0 请登录后投票
   发表时间:2010-08-26  
hxbot 写道
if else    面向过程
exception  面向对象

正解
0 请登录后投票
   发表时间:2010-08-26  
鄙人愚见:使用exception是一种懒惰的方法,同时也是一种保险的方法。就像你抛出异常时,不使用try...catch..而是直接使用throws exception 一样。为什么说保险呢?如果使用if else 有可能有些返回值是你如法掌握或控制的,同时你也会漏掉某些值
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics