我正在使用PHP的Codeigniter來構建我的應用程序,而且有時候我覺得我在處理錯誤時會被淹死。我在所有地方添加「失敗者」可能會失敗。下面是一些例子:如何在CodeIgniter中做適當的錯誤處理?
在模型:
- 如果不給所有模型方法的參數,返回false
- 對於每一個MySQL查詢,如果查詢失敗,返回false
- 視情況而定如果查詢的行數是< 1(其中它必須是> 0),則返回false
在控制器:
- 如果控制器方法缺少必需的參數,返回false
- 如果被叫模型返回false,重定向一個錯誤提示信息,或顯示錯誤觀點
我想知道是什麼我是否過度使用它?我覺得可能沒有必要測試每一個mysql查詢,但是如果其中一個確實因任何原因而中斷,那麼腳本的其餘部分就會失敗或者爲用戶搞砸了。
最後,在錯誤處理的所有上述階段中,哪些地方適合將錯誤記錄到文件?
模型應該拋出異常並捕獲並解決它們可以拋出的異常。如果/如何向用戶呈現異常是控制器/視圖的工作。 – Orangepill
請記住,在開發環境中處理錯誤和處理面向用戶的實時環境中的錯誤可能會是兩件不同的事情。 @Orangepill是正確的,雖然。在模型中捕獲異常,然後使用您的控制器/視圖來決定是應該展示全面的調試轉儲還是告訴用戶您有一個「oopsie」。「 –