Ausnahmebehandlung in Php
Sie befinden sich: Home > Php
> Ausnahmebehandlung in Php
In diesem Artikel möchte ich Ihnen, erklären, wie sie eine ordentliche
Ausnahmebehandlung machen. In den meisten Fällen ist es sehr sinnvoll, anstatt das
Skript mit die(); oder echo und exit; abzubrechen. Da man, durch die Ausnahmebehandlung der
Fehler, diese zum Beispiel in einer Textdatei speichern kann. Wenn man dies beachtet, wird
man später bei der Fehlersuche im Skript viel Zeit sparen.
Natürlich ist es nicht ganz einfach in großen Projekten das Konzept einzubauen,
aber wer kennt das nicht? Zitat: „Mal wieder die Nadeln im Heuhaufen suchen.“
Wenn man dies umgehen möchte, sollte man sich die Mühe machen.
Die Ausnahmebehandlung wurde in der PHP Version 5 wie in anderen Programmiersprachen hinzugefügt.
Daher ist in den meisten Fachbüchern recht wenig, genauer gesagt gar nicht auf die
Ausnahmebehandlung eingegangen. Daher versuche ich Ihnen in diesem kleinen Beispiel, die
Ausnahmebehandlung zu erklären.
Beispiel:
<?php
/*
* Als erstes müssen wir die Funktion
* von den Script festlegen, damit
* wir diese verwenden können.
*
* Die Funktion macht nichts anderes,
* als Prüfen, ob dieser eine Zahle
* übergeben wurde. Wenn eine Zahl
* übergeben wurde, gibt diese Funktion
* die Zahl zurück.
*
* Wenn der Funktion keine Zahl übergeben
* wurde, wird eine Fehlermeldung
* gespeichert, durch den Aufruf
* von Exception().
*/
function check_zahl($zahl = '0') {
if (is_numeric($zahl)) return $zahl;
else throw new Exception("Es wurde keine " .
"Zahl der Funktion check_zahl() übergeben.<br>");
}
try {
/*
* So nun wollen wir unser Script
* ausfüheren. Dazu fangen wir mit
* try an und lassen hier ein
* Fehler enstehen in der Variable
* $zahl.
*
* Dazu müssen wir einfach
* einen String übergeben und schon
* wird eine Exception gestartet und
* in der Variable $e die Fehlermeldung
* gespeichert in ein Objekt.
*
*/
$zahl = 'a';
echo 'Es ist in der Variable'.
' die Zahl '.check_zahl($zahl).' ' .
'gespeichert.<br>';
}
catch (Exception $e) {
/*
* Dieser Fehler kann man nun auch z.b.
* in einer Log Datei speichern um
* diese später auszuwerten.
*/
echo 'Script Fehler: '.$e->getMessage();
}
?>
Die Ausgabe würde dann so aussehen:
Script Fehler: Es wurde keine Zahl der Funktion check_zahl() übergeben.
Erklärung:
Mit dieser Funktion können wir eine Zahl
überprüfen. Wird der Funktion eine Zahl übergeben, gibt sie diese zurück.
Wenn keine Zahl übergeben wurde, wird eine Fehlermeldung gespeichert, indem ein
Exception Objekt aufgerufen wird.
Um die Funktion auszuführen, müssen wir mit try beginnen und in der Variable $zahl
einen String übergeben. Dadurch wird eine Exception gestartet und die Fehlermeldung in
der Variable $e
gespeichert. Der Fehler kann dann auch in einer Log-Datei gespeichert werden, um ihn später
auszuwerten.
Zu der Ausnahmebehandlung finden Sie im PHP Handbuch noch mehr ausführliche Dokumentationen zu
diesem Thema.
Soweit alles klar? Wenn ja, so können Sie hier das
nächste Thema Anfang. Dabei geht es darum, Formulardaten
an ein Script zusenden.
|