2015-12-02 93 views
6

我有一個小苗條3應用程序,當我拋出苗條異常簡單地顯示了一般性錯誤消息:苗條3個blackholing錯誤

修身應用程序錯誤

發生了網站錯誤。對於暫時的不便,我們深表歉意。

在纖細2,你可以做這樣的事情來打開調試模式給你回溯等:

$app->config('debug', true); 

在纖薄的3似乎有不爲一。另外,它似乎覆蓋了我的異常和錯誤處理程序。

我怎樣才能獲得苗條吐出的錯誤,或者至少打電話給我的錯誤處理程序(其中管道輸出到編制品調試信息)

+0

您正在使用哪個版本的Slim 3? –

+0

'3.0.0-RC3' - 但它是用RC2來做的 –

回答

15

通過源看,它可能有錯誤初始化苗條3顯示像這樣:

$app = new \Slim\App(['settings' => ['displayErrorDetails' => true]]); 

我不知道是否有可能改變的事實後,該設置不完全更換errorHandler

2

要在默認的異常處理程序上顯示完整的堆棧跟蹤,請使用j-v所說的內容。

如果你要處理的超薄那麼你自己,你需要重寫修身的默認異常處理程序,因爲它將你的「不修身」錯誤處理程序之前使用的例外:

$app = new \Slim\App(); 

$container = $app->getContainer(); 
$container['errorHandler'] = function(ServerRequestInterface $request, ResponseInterface $response, Exception $exception) { 
    //Handle exception here 
} 
1

錯誤處理是相當有據可查:http://www.slimframework.com/docs/handlers/error.html

$app = new \Slim\App(); 
$c = $app->getContainer(); 
$c['errorHandler'] = function ($c) { 
    return function ($request, $response, $exception) use ($c) { 
     return $c['response']->withStatus(500) 
           ->withHeader('Content-Type', 'text/html') 
           ->write('Something went wrong!'); 
     }; 
    };