2011-01-06 106 views
0

我做了一些搜索,但它有點過於通用,無法提取結果。我很確定它可以完成,但我找不到合適的帖子。基本上我使用CodeIgniter作爲我的後端,我從萬維網中拋出異常。當發生異常時,我想將用戶引向錯誤頁面,但我也想包含錯誤消息和堆棧跟蹤,以便將其存儲到我的錯誤表中。最糟糕的情況是將我所有的代碼放到try-catch循環中,但這很荒謬。有什麼我可以用.htaccess文件做的事情嗎?請記住,我需要將異常與重定向一起傳遞。將錯誤重定向到錯誤頁面以及拋出的錯誤

回答

1

看看set_exception_handlerset_error_handler功能,我想這就是你要找的。同時在PHP文檔的Error Handling會話上。

+0

這正是我所期待的。 set_exception_handler和set_error_handler有什麼區別?我確實遇到過set_exception_handler,有人抱怨說它沒有捕獲所有的錯誤。 – JohnathanKong 2011-01-06 01:15:38

+0

如果在try/catch塊之外拋出異常,則會調用在set_exception_handler上設置的函數,如果捕獲到異常,函數將不會被觸發,set_error_handler函數將處理腳本中發生的任何錯誤,它不會捕獲E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR和E_COMPILE_WARNING,因爲當這個錯誤發生時,你的處理程序還沒有被註冊,就像文檔所說的那樣,如果E_STRICT發生在同一個文件中,正在調用'set_error_handler'。 – Alisson 2011-01-06 02:19:49