2015-12-21 66 views
0

我想以自定義的方式處理InvalidArgumentException。在應用程序/啓動/ global.php我有以下的代碼塊後,內置的App::error(Exception $exception... blockLaravel 4.2自定義錯誤處理程序不工作

App::error(function(InvalidArgumentException $exception, $code){ 

// die('last'); 

    $exceptionData['exception'] = $exception; 
    $exceptionData['code'] = $code; 

    ExceptionNotificationHandlerController::notify($exceptionData); 

}); 

模具()ING,斷點,等等都表明,我認爲它從未進入的代碼塊時,我拋出一個InvalidArgumentException。幫幫我?

+0

您是否嘗試過在沒有$ code參數的情況下,示例中的簽名只有$ exception參數,不確定簽名是否會在嘗試加載時產生變化。 –

+0

@MarkDavidson是的,我試過它沒有$ code參數。一樣。 –

回答

0

好吧,只要有人有這個問題,似乎'debug' => true設置在應用程序/配置/ app.php阻止您正確使用您的自定義異常處理程序。一旦我將其設置爲假,我的所有問題都會消失。令人煩惱的是,在本地環境中工作時,你應該將此設置爲true。更令人討厭的是,似乎一旦將debug設置爲false,則不能再使用$exception->getMessage()獲取異常消息。

相關問題