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: