SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
Wenn man sich in der Programmierung mit der Fehlerbehandlung befassen möchte, muss man sich von Anfang an darüber im Klaren sein, dass es dabei nicht um syntaktische Fehler geht. Diese werden bereits vom PHP-Interpreter frühzeitig abgefangen und gemeldet.
Beispiel – fehlerhafter Aufruf von printf()
<?php
printf("Hallo %s" "Matze");
?>
Ausgabe – Syntaxfehlermeldung (parse error)
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in...
Bei der Fehlerbehandlung dreht sich alles um die Verarbeitung von Ausnahmen (engl. exceptions). Eine Ausnahme stellt ein Ereignis dar, welches zur Laufzeit eines Programms eintritt und den normalen Kontrollfluss unterbricht. Man kann sagen, Ausnahmen treten immer dann auf, wenn ein Skript vorzeitig aufgrund unerwarteter Umstände abgebrochen wird oder fehlerhafte Ergebnisse liefert.
Hinweis: Solche Ausnahmen werden in der Programmierung auch als Laufzeitfehler oder Ausnahmefehler bezeichnet.
Typische Umstände für eine Ausnahme sind:
- Es tritt ein Problem auf.
- Es kann nicht normal fortgefahren werden.
- Das Problem kann nicht an Ort und Stelle behoben werden.
- Jemand anders muss sich um das Problem kümmern.
Das Ziel bei der Verarbeitung solcher Ausnahmen ist es, möglichst sämtliche Fehler abzufangen und darauf angemessen zu reagieren, und sei es auch nur in Form einer benutzerfreundlichen Fehlermeldung.
In puncto Fehlerbehandlung bot PHP bisher keine vordefinierten Möglichkeiten, um auf Ausnahmen zu reagieren. Als Entwickler war man auf eigene Lösungen angewiesen, beispielsweise durch das Abfangen von Rückgabewerten bei Funktionen. Bei jeder Funktion, egal ob es sich um eine benutzerdefinierte oder vordefinierte Funktion handelte, die einen Fehler verursachen konnte, musste deren Rückgabewert überprüft und an Ort und Stelle entsprechend reagiert werden.
Beispiel – Funktion division()
<?php
function division($a,$b)
{
return($a/$b);
}
echo division (10,5); // 2
echo division (10,0); // Division by zero
?>
Die erste Wertübergabe führt zu einem sinnvollen Ergebnis, bei der zweiten handelt es sich um die Division durch 0, und solch eine Ausnahme musste in Form einer benutzerdefinierten Lösung abgefangen werden.
Beispiel – Funktion division() mit benutzerdefinierter Ausnahmebehandlung
<?php
function division($a,$b)
{
// Überprüfung, ob durch Null dividiert werden soll
if ($b == 0)
{
// Gibt benutzerdefinierte Fehlermeldung zurück
return "Division durch null nicht durchführbar!";
}
return($a/$b);
}
echo division (10,5); // 2
echo division (10,0); // Division durch null nicht durchführbar!
?>
Hinweis: Diese Form einer Fehlerbehandlung werden Sie auch zukünftig einsetzen können.
|