Warum wird diese Ausnahme dupliziert?
-
27-10-2019 - |
Frage
Dies ist eine Folgefrage von diese Frage, was nicht wirklich wichtig ist.
Ich habe das folgende Plugin für vordere Controller geschrieben:
public function postDispatch(Zend_Controller_Request_Abstract $request)
{
$response = $this->getResponse();
$monitor = Zend_Registry::get('monitor');
if ($response->isException())
{
$monitor->log($response);
}
}
Wobei $ Monitor eine Instanz einer benutzerdefinierten DB -Protokollierungsklasse ist (erweitert Zend_log).
In der Protokollmethode des Monitors I-Schleifen über das Array von Zend_Exceptions, die von $ response-> getException () zurückgegeben wurden.
Zu den Testzwecken bin ich eine Ausnahme in einer Aktion:
throw new Zend_Exception('the big test', 555);
Die meisten Dinge funktionieren wie erwartet, die Ausnahme wird in die Datenbank geschrieben.
Frage
Aber es ist zweimal geschrieben. Wieso den?
Lösung
Weil die Versandschleife zweimal aufgerufen wird. Zuerst für die aktuelle Aktion und dann für Standard: Fehler: Fehler :) Legen Sie das Anmelden ein dispatchLoopShutdown()
Methode