1
裏面大控制器我會被稱爲許多不同的功能,創建一個用戶,更新它們的順序,在事件時間表。這些操作中的每一個通過在模型層的功能處理...這裏是其中的功能之一的例子:
$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)
_「這絕不應該發生」_ - 當然,但它仍然可以發生(數據庫服務器關閉,連接暫時因某種奇怪的原因而斷開連接等)。如果發生這種情況,您是不是想向用戶顯示出現問題並要求他們再試一次?永遠不要認爲你的代碼/服務器/系統不會有錯誤/問題。 jeroen的答案在下面是正確的處理方式。 –
這很有道理!我應該看看一個錯誤日誌包。 –
...並使用異常(這正是他們所說的,正常流程中的異常)。 –