Fehlerbehandlung

Im optimalen Fall übernimmt die Anwendung das Fehlerhandling. Sollte jedoch in der Startup-Phase ein Fehler auftreten, oder die Anwendung einen Fehler nicht abfangen, springt die Ignition-Klasse, bzw. das run.php-Script ein.

Die Ignition-Klasse stellt mit der Methode Ignition::handleException() eine zentrale Methode zur Fehlerbehandlung bereit. Je nach SAPI wird die Ausgabe als Nachricht im Terminal oder als Header in der HTTP-Anfrage übergeben.

In der HTTP-Schnittstelle erhält ein Request eine eindeutige Request-ID. Diese dient zur Zuordnung von Anfragen und Fehlermeldungen. Im Fehlerfall wird die Request-ID als Header im Feld X-Alvine-RequestID übermittelt.

Außerdem können in der Serverantwort ein oder mehrere X-Alvine-Hint-Headers mit Hinweisen zur Fehlermeldung übergeben werden.

Für jede Exception wird im Temp-Systemverzeichnis jeweils eine json und eine log Datei mit den Daten zur Exeption angelegt.


Verwendung der Fehlerbehandlung im Run-Script.


$configName='alvine-platform';

try {
    \Alvine\Dispatcher\Ignition::getInstance()
        ->initIniFiles($configName)
        ->runUnits();
} catch(\Exception $e) {
    // Fehlerbehandlung
    \Alvine\Dispatcher\Ignition::getInstance()->handleException($e);
}

Der Ablauf im Fehlerblock ist folgender: