【发布时间】:2012-08-13 15:39:05
【问题描述】:
我只是在寻找一些最佳实践建议。
我有一项服务,“价格表服务”,用户可以在其中保存某种价格表。
有一些实例或配置可能会留下不一致的数据,在这些情况下我想结束函数执行。
例如,如果对象上没有设置 customerId,或者在数据库中找不到销售人员的 userId。
我的问题是当您遇到业务逻辑错误时离开函数的最佳方法是什么?
我喜欢异常停止执行并允许您重新抛出异常的方式。问题是,我听说异常不能用于流量控制。
目前我只有一堆嵌套的 if/else,除非没有设置 $service_error_message 的局部变量,否则我不会提交我的事务。
如果$service_error_message 为空,那么我知道我的验证器都没有失败,可以保存。
有人对如何更好地处理这些情况有建议吗?
【问题讨论】:
-
如果可能发生的问题是程序正常执行的一部分,我不会使用异常或
die之类的东西,您只需要测试有效输入并显示错误消息用户。 -
@Leigh 感谢 Leigh 的可读性增强。
标签: php exception business-logic control-flow