背景
在大型控制器内部,我将调用许多不同的功能,创建用户,更新订单,在事件中安排。这些操作中的每一个都由模型层中的函数处理...以下是其中一个函数的示例:
$user_id = 1;
$data = array('name' => 'Billy');
if (updateUser($user_id, $data) === false) {
// handle error?
}
// continue with rest of controller
问题:
我今天终于接受了现实检查,并意识到我没有充分的理由像这样编码...
如果updateUser()
返回false,那么我的数据库抽象层出现严重问题,导致我无法更新数据库中的数据。这绝不会发生,因此无论如何都不会向我的用户显示任何实际错误(这将允许他们采取适当的行动)。
基本上我的应用程序从根本上被打破了。
问题:
我是否应该费心去检查 从不返回false的功能?如果是这样的话?或者我应该在没有任何检查的情况下像这样打电话给他们?
updateUser($foo)
createBooking($bar)
scheduleEvent($qux)
答案 0 :(得分:5)
当函数内部发生永远不会发生的事情时,抛出exception。
然后您可以处理(捕获)您想要执行此操作的所有异常。例如,通过向用户显示友好消息并记录所有详细信息,以便您知道出了什么问题以及在哪里。
然后你可以删除if
语句,只有在有效/正常选项时才使用它们。