2012-03-28 55 views
1

隨着PHP文件中顯示的是它可以創建自己的exception handler。我認爲這是處理用戶生成的錯誤和異常情況的合理方法,這些錯誤和異常貫穿了我正在開發的項目。通過研究,我已經在實施一個特定的課程方面取得了相當大的進展,僅針對一個課程,包括使用ErrorException(從第一個答案開始),並確保爲error levels返回false,這是我無法處理的。

我已經跑不過與使它更加通用的一堵牆。我不想爲我寫的每個類編寫一個單獨的處理程序(特別是因爲絕大多數代碼將與每個類相同)。然而,對於同一個處理程序中的整個項目而言,每一個錯誤都會讓人覺得非常糟糕。

我得到什麼感覺就像一個可接受的解決方案最接近的是寫ErrorException的一個子類,每類我要處理的每個那些對錯誤和存儲郵件。但即使如此,我可能會出錯(我不認爲這將是存儲默認錯誤消息的適當位置)。

有沒有普遍接受的方式做到這一點,我一直無法找到?或者實際上是其中一種方式實際上是通常完成的方式?還是有多種解決方案可以根據項目的規模進行擴展?如何實現通用PHP異常處理程序

編輯:剛剛意識到我可以寫一個通用Exception_Handler與重用代碼,並且將其擴展爲每套錯誤,我有(實際HERP時刻對我來說),但它仍然看起來我應該處理在同一個地方的所有錯誤。如果我完全錯了,請告訴我。

編輯2:決定去一個配置文件包含錯誤消息爲每個類將引發錯誤,然後引發錯誤的類的名稱定義了什麼配置文件加載,以獲得與消息相關的列表錯誤編號。這也使我能夠輕鬆定義應該被記錄的消息,而不是應該發送給用戶的消息(基本上是特定消息或通用消息)。

我想我會記住這是回答什麼的,但如果我做錯了隨時讓我知道,幫助總是讚賞。

回答

0

決定去與包含每個類,將引發錯誤的錯誤消息的配置文件,然後拋出錯誤的類的名稱定義了配置文件加載到獲得與錯誤編號相關的信息列表。這也使我能夠輕鬆定義應該被記錄的消息,而不是應該發送給用戶的消息(基本上是特定消息或通用消息)。

更具體我可能會使用定義數組的數組,其中每個數包含錯誤消息的該錯誤編號的數組的ini文件。然後使用拋出錯誤號的foreach返回錯誤消息。