1
愚蠢的問題:在我的代碼中,我收集了要在緩衝區中顯示在視圖中的所有消息。在代碼下面,如果我的Try {}失敗並直接進入Catch {},那麼錯誤將被緩衝,但控制器不會有機會分配給視圖,對吧?你們如何解決這種情況?在例外情況下打印以查看
MyController
{
//...
try {
// ... do something
$this->_messages[] = array('success', 'Thank You.');
}
catch (Exception $e) {
$this->_messages[] = array('error', 'Oops! There was an error.');
}
/**
* flush all buffered messages to the view
*/
$flashmsg = $this->_flashMessenger->getMessages();
if (!empty($flashmsg)) $this->_messages[] = $flashmsg[0];
$this->view->messages = $this->_messages;
}
這裏發生數據庫繁忙併且查詢超時。在這種情況下,您會生成一個異常,但不需要完成應用程序,只需通知客戶再試一次。除非我在實際完成Oops之前自動將應用程序自動重新嘗試3次......有趣。謝謝。 –