锁定老帖子 主题:抛出异常还是约定返回值
精华帖 (0) :: 良好帖 (2) :: 新手帖 (1) :: 隐藏帖 (1)
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
作者 | 正文 | ||||||||||
发表时间:2012-02-18
用责任链模式吧。
|
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-18
我个人习惯用异常处理,返回值的方式感觉有点面向过程了~
|
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-19
业务条件比较少的话,根据具体的条件在action和service判断一下即可,
条件多,易变,且复杂的话,用规则引擎框架,或自己自定义一个xml规则库,里面定义好各种 条件的处理方式,把这个规则库放到一个代理里或aop里 |
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-19
zhc0822 写道 用责任链模式吧。
+1 |
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-19
用异常太乱了吧,你用过oracle pl/sql吗? 把异常当成正常流程的一部分你最不好的;
虽然有些人自己说了自己的想法:什么异常流之类的,看似正确的观点,但是本人不太认同,就用返回值吧,写成静态变量,简单易懂,谁都能接受 |
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-19
可以直接在验证的时候返回字符或数字定义的返回码,也可以使用异常的方式定义errorCode,都是可以的,重要的定义一个规则,统一起来,不管是用户或开发者一开就明白。
|
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-20
1:错误定义
通过xml或者其他方式定义 模块太多可以多文件配置
2:错误工厂 加载错误定义文件,提供通过ID找到对应错误的实体对象
3:定义异常 个人觉得可以对每一个模块定义一个异常,每个异常的message为表格中得错误ID
4:异常处理 通过异常的message得到错误id,访问错误工厂类,得到错误实体,然后进行操作
|
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-20
用REST,你还有这样的烦恼么?
|
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-20
最后修改:2012-02-20
异常只适用于不可意料的情景:例如网络连接错误,因为你无法意料到什么时候会出现网络断开的情况。
建议使用返回值,返回值最好采用二进制位表示,例如第X位表示高层应用错误,第Y位表示中间层错误,第Z位表示内核错误,等等,这样做的好处是便于扩展和管理。 |
|||||||||||
返回顶楼 | |||||||||||
发表时间:2012-02-21
拥抱变化之美 写道 异常只适用于不可意料的情景:例如网络连接错误,因为你无法意料到什么时候会出现网络断开的情况。
建议使用返回值,返回值最好采用二进制位表示,例如第X位表示高层应用错误,第Y位表示中间层错误,第Z位表示内核错误,等等,这样做的好处是便于扩展和管理。 不仅是适用于无法预料的情况,也是为了避免大量的if else 。 |
|||||||||||
返回顶楼 | |||||||||||