锁定老帖子 主题:抛出异常还是约定返回值
精华帖 (0) :: 良好帖 (2) :: 新手帖 (1) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-21
LZ认为通过返回值标注前置条件的缺失会使返回值承载过多的东西,这要看前置条件的多少,如果由于业务需求要求设置很多的前置条件,即使通过抛异常的方法告知调用者那些前置条件缺失,异常就不也承载很多吗。个人认为约定返回值是一个明智的选择。
|
|
返回顶楼 | |
发表时间:2012-02-22
MartsonFan 写道 LZ认为通过返回值标注前置条件的缺失会使返回值承载过多的东西,这要看前置条件的多少,如果由于业务需求要求设置很多的前置条件,即使通过抛异常的方法告知调用者那些前置条件缺失,异常就不也承载很多吗。个人认为约定返回值是一个明智的选择。 大多数方法,目的是返回一个对象,而不能保证,每个返回的对象,都包含相关的状态值,那样的话,返回对象太繁琐了。 |
|
返回顶楼 | |
发表时间:2012-02-22
只说说个人认为的区别:
1.异常可以把异常分支代码和正常代码直接分开,代码会更清晰。而返回码则必然涉及判断,会把异常代码和正常代码耦合一起。 2.异常的方式更面向对象,可以在异常内部封装异常的类型和信息,返回码必然还要有个对照表。 3.异常的构建代价比较大,性能有一定损耗,而返回码则不存在这个问题。 至于选择,则看个人习惯。 |
|
返回顶楼 | |