如果我運行控制器「正常」(預訂)控制器拋出異常,我得到我的自定義500錯誤頁面。while twig {%render%}沒有錯誤頁面symfony2
如果我使控制器中的另一個模板中,像這樣:
{% render "BookingBundle:Booking:list" %}
話,我沒有得到任何東西只是空白輸出。
有沒有辦法讓錯誤頁面顯示在這裏出來做控制器內的try catch?
如果我運行控制器「正常」(預訂)控制器拋出異常,我得到我的自定義500錯誤頁面。while twig {%render%}沒有錯誤頁面symfony2
如果我使控制器中的另一個模板中,像這樣:
{% render "BookingBundle:Booking:list" %}
話,我沒有得到任何東西只是空白輸出。
有沒有辦法讓錯誤頁面顯示在這裏出來做控制器內的try catch?
當您使用渲染標籤,你可以指定一些選項,第三個參數:
調試模式通過傳遞true
作爲第二個內核的構造函數的參數值噸。你可以看到它在前端控制器類:
$kernel = new AppKernel('dev', true);
如果你不想忽略錯誤,即使在非調試模式下,你可以這樣做:
{% render 'BookingBundle:Booking:list' with {}, {'ignore_errors':false} %}
非常感謝「alt」聽起來像我想要的。我討厭沒有解釋的空白屏幕。如果我可以運行另一個控制器,並只顯示一條消息,說明「發生了錯誤」,那將是非常出色的,同時可能會記錄錯誤。沉默地死於用戶不是我的樂趣,它可能會導致混淆(不是我的代碼會有錯誤,會觸發此alt控制器:))。再次感謝 –
我不這麼認爲。但是,爲什麼你應該在控制器中出現500錯誤? –
未捕獲的異常或語法錯誤。對不起,只是控制器沒有拋出異常,它的控制器正在使用的服務拋出異常。 –
那麼,一個工作的應用程序不應該拋出未被捕獲或產生語法錯誤的異常,所以我不明白你想在這裏實現什麼。如果您看到控制器的響應爲空,請查看日誌,找到問題並修復它。但是在生產環境中你不需要它。 –