java在业务逻辑错误的时候用exception做判断还是errorCode

_散财童子_ 发布于 2013/08/15 17:27
阅读 2K+
收藏 0

请问下,我在java软件开发中碰到过这样一种情况。有的代码在判断业务逻辑的时候,直接用exception来判断。

简而言之就是,在我程序内部发生了一些业务逻辑的错误,我是应该用exception来做逻辑判断还是用errorCode来做判断? 

以下是问题补充:

@_散财童子_:看到了大家的回复,还有情况是这样的,我个人比较倾向于是使用errorCode,但是同事说这个是面向对象的使用方式。现在spring针对jdbc的源生的errorcode特意自己封装了自己的自定义异常。所以我就迷茫了。还有就是不是说异常很损耗资源吗??自定义异常能够损耗的小吗? (2013/08/15 19:31)
加载中
0
乾坤摄
乾坤摄
用自定义异常。。。。。
周明岐
周明岐
回复 @_散财童子_ : Spring本身作为框架,考虑是通用,不会因为一些用法而改变,对Spring来说,用它自定义异常是最好的方式,但是如果自己的业务逻辑来说,自定义异常就有点浪费了,并且还占用系统资源,还不如直接封装错误码更直接
_散财童子_
_散财童子_
回复 @周明岐 : 还有情况是这样的,我个人比较倾向于是使用errorCode,但是同事说这个是面向对象的使用方式。现在spring针对jdbc的源生的errorcode特意自己封装了自己的自定义异常。所以我就迷茫了。还有就是不是说异常很损耗资源吗??自定义异常能够损耗的小吗?
乾坤摄
乾坤摄
回复 @周明岐 : 其实用异常处理业务流程不是很好的,异常很消耗系统资源的,你那个返回自定义类型的方式比较好
周明岐
周明岐
如果业务稍微复杂,不太建议用过多的自定义异常,不如自己封装一个ReturnResult,灵活还简单
0
xmut
xmut
这个我也很纠结
0
情天大圣
情天大圣
如果异常不是自定义异常,还是用错误码的好
_散财童子_
_散财童子_
还有情况是这样的,我个人比较倾向于是使用errorCode,但是同事说这个是面向对象的使用方式。现在spring针对jdbc的源生的errorcode特意自己封装了自己的自定义异常。所以我就迷茫了。还有就是不是说异常很损耗资源吗??自定义异常能够损耗的小吗?
0
viney
viney

{

"code":"-100",

"reasen":"user not found"

}

错误码+原因

前端只检验错误码就可以。

_散财童子_
_散财童子_
恩,我们这边对于前端也是使用json的code,我的问题主要是抛出在java调用自身系统上的。
0
风飞雪
风飞雪
个人感觉抛自定义运行期异常,由spring的统一异常捕获后统一跳转错误页面(JSP)或者弹出错误框(Json),这样页面中就不必写错误处理代码,service、controller端没兴趣处理的异常均不用捕获,代码看着简洁,比较舒服。我不大喜欢代码里都是try{}catch{}。
_散财童子_
_散财童子_
恩 我那个同事的观点和你一样 都是这个理由
0
viney
viney

引用来自“viney”的答案

{

"code":"-100",

"reasen":"user not found"

}

错误码+原因

前端只检验错误码就可以。

系统自身处理异常,最好是自定义异常。再根据异常做相应的处理。
0
子木007
子木007
老板说了, 用 errcode 会让客户觉得很专业~~~~~~~~~  
_散财童子_
_散财童子_
!!!醍醐灌顶
0
lancecong
lancecong
还是看需要了,就像楼上说的,errcode能忽悠客户,显得专业。。
_散财童子_
_散财童子_
能忽悠才是王道啊 哈哈
返回顶部
顶部