1
愚かな質問:私のコードでは、バッファ内のビューに表示されるすべてのメッセージを収集します。私の試し{}が失敗し、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;
}
ここで、データベースがビジーでクエリがタイムアウトすることがあります。この場合、例外が生成されますが、アプリケーションを終了する必要はありませんが、単にクライアントに再試行するよう通知するだけです。アプリケーションを自動化して、3倍の試行をしてから実際におっとりしていない限り...面白いです。ありがとう。 –