2011-03-27 50 views
1

我想捕獲php錯誤,所以我用set_error_handler('handler_function')當我回顯錯誤消息'Zend_Controller_Response_Exception'帶消息'無法發送標題;已經發送了頭調用到非對象‘的setBody方法」時,我使用的下列行Zend framework-如何停止執行並重定向到錯誤控制器

$fc=Zend_Controller_Front::getInstance(); 
$fc->getResponse()->setBody($error); 

一個錯誤發生時引發’

我試圖從錯誤處理程序拋出異常但這取決於在引導之前出現的錯誤直接顯示在錯誤控制器中顯示的引導之後 我使用了$ fc-> throwExceptions(false)來確保它將異常發送到錯誤控制器

當我在錯誤處理程序中什麼都不做時繼續執行

什麼,我需要的是有一個地方處理所有的錯誤

如果有一種方法可以重定向到錯誤錯誤控制在PARAMS這將是很好的

回答

2

處理這些錯誤IMO最好的方法是註冊錯誤處理程序,將任何錯誤/致命錯誤轉換爲異常。我想這個迴應還沒有創建。您必須使用$ fc的setResponse()方法來創建新的響應。我猜想轉換爲異常應該在任何情況下工作。與來自Zend類的異常工作相同。

+0

最後我決定從錯誤處理程序中拋出異常,但它只會在boostraping之前發生錯誤之後才起作用 – ahmedsafan86 2011-03-27 13:46:11