浏览 3515 次
锁定老帖子 主题:问一个关于如何设计处理多种异常原因的问题。
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-11
当要插入一条记录是,当数据库中已经存在一条相同的记录时(比方说用户名规定不能相同),方法名是add,那么这个方法的定义是void好还是boolean好呢? 我觉得如何用void的话,为了返回错误信息就应该用抛出异常的方式,这样的话如果错误的原因有n种,那么就应当定义n个异常类型。 如果用boolean的话,只能反馈成功或失败,如果错误的原因可能有多种,好像不是很好。 要不然返回一个String类型的值,比方说success表示成功,failureByExist表示已有重复记录,failureByOther表示其它原因……这样搞起来其实和第一种方式差不多。 我还想知道,还有没有更好的方法来处理这类问题。 谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-11
用Exception有什么不好吗?
|
|
返回顶楼 | |
发表时间:2006-10-11
看了你的问题,我也想了下,也无法确定哪个方法好。而我以前一直是用boolean的,不管为什么无法插入,只管插入是成功还是失败。
而确实需要知道为什么无法插入时,我在执行插入操作前做一系列的判断, 无法通过这些判断就无需插入了,这时也就知道什么原因无法插入了。 脑袋瓜子不好使,只要这样用,吸取有经验人士的指点。 |
|
返回顶楼 | |
发表时间:2006-10-11
BirdGu 写道 用Exception有什么不好吗?
也没觉得有什么不好,只是不知道有没有更好的而已。 其实就是有一点烦琐,一是要定义不少异常,二是要写不少try catch块,想看看有没有能减少些代码量的方法。 |
|
返回顶楼 | |
发表时间:2006-10-11
在异常里面加上个错误信息好了
这样只要一个exception就好了 我是这么想的,不知道有没有更好的办法 |
|
返回顶楼 | |
发表时间:2006-10-11
http://www.iteye.com/topic/2038
|
|
返回顶楼 | |
发表时间:2006-10-11
用RuntimeException。
定义一个跟RuntimeException,然后各个子RuntimeException代表不同出错类型。 |
|
返回顶楼 | |