论坛首页 Java企业应用论坛

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

浏览 34398 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (13) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-08-27  
如果是流程判断的话,用exception的请抽自己两个耳光。
0 请登录后投票
   发表时间:2010-09-01  
exception 的速度要慢的多
0 请登录后投票
   发表时间:2010-09-02  
fengsage 写道
hxbot 写道
if else    面向过程
exception  面向对象

正解



说if/else面向过程有点奇怪。
从JDK 1.5开始引入java.util.Queue,添加的所有
操作都是重复了前面List的操作只是把异常改成返回值。
其中包括了offer, poll, peek
这样做,是因为这些都是正常流程,而不应该当做异常来处理,
这里不是面向过程还是面向对象的问题。
0 请登录后投票
   发表时间:2010-09-03  
Exception和if...else并没有必然的联系,Exception是程序没有按期望运行的结果,而if...else属于程序逻辑控制,举个例子,譬如登录方法:
int login(String userName, String password)
通过用户名和密码跟数据库的记录作比较来检验是否能够登录,假定能登录返回1,不能登录返回0,返回0的时候提示“用户名或者密码错误”。那么如果是由于数据库连接不上了或者用户输入的用户名为空等,需要返回的是一个异常,而不是0。为什么呢?因为异常并不是你想要的结果,只是在非正常情况下产生的,用户连续输入了3次正常的用户名或者密码,而你又三次提示说用户名密码不正常,这样会多么的...
0 请登录后投票
   发表时间:2010-09-09  
konser 写道
sam_chi 说的很对,首先大家要明白什么是异常,异常就是程序不能正常执行,错误的调用api的方法,资源失败等等原因 。程序逻辑又是一回事。为什么要把异常和逻辑判断混合起来做对比?  补充一下如果,当参数不合法的时候抛出IllegalArgumentException .
如果是 if else 的话,有什么好处 ?
参数不合法程序都不能正常执行了那你说有啥好处?
如果是 exception 的话,又有什么好处 ?
面向对象的思维,抛出每个异常时可根据不同异常以不同方式进行处理 。缺点是创建消耗内存,效率低。




同意以上说法,根据情况而定
0 请登录后投票
   发表时间:2010-09-09  
完全看业务需求,不过还是弄清楚点好。
0 请登录后投票
   发表时间:2010-09-09  
if else 是控制编辑流程,是面向过程的
exception 是面向对象
0 请登录后投票
论坛首页 Java企业应用版

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