baseportal
Suche: 
 Forum   Start 

Fehlerbehandlung

 
Verstecken Inhalt
Standardmässig gibt baseportal Fehler direkt an der Stelle der HTML-Seite aus, an der der Fehler passiert ist. Die Fehlermeldungen können genauso wie alle anderen Ausgabetexte mit set_language auf eine andere Sprache umgestellt oder beliebig umdefiniert werden (s. Anhang).

Befehle geben undef bei Fehler zurück

Tritt bei der Ausführung eines baseportal-Befehls ein Fehler auf, so bricht dieser üblicherweise ab und gibt den Wert undef zurück. Ein Test ob ein Befehl erfolgreich war sieht demnach so aus: Schreibt einen neuen Eintrag in die Datenbank kunden - tritt dabei ein Fehler auf, wird darauf entsprechend reagiert. Üblich ist auch folgende Schreibweise: Gibt FEHLER! aus, wenn ein Fehler aufgetreten ist. Um die baseportal-eigene Fehlerausgabe zu unterbinden, muss man die Variable $_error_mode auf no setzen.

Variablen

Selbst Fehler erzeugen

Durch den Aufruf der Routine error kann von Hand ein beliebiger Fehler erzeugt werden: error gibt selbst undef zurück. Um den fehlerhaften Abbruch einer Unterroutine anzuzeigen bietet sich folgende Schreibweise an: Gibt die Fehlermeldung Der erste Parameter darf nicht leer sein! aus und kehrt mit einem undef zurück, wenn der übergebene Parameter leer war. Ist alles fehlerfrei gelaufen, gibt die Routine 1 - logisch wahr zurück. my_sub verhält sich damit wie alle baseportal-Befehle.

Eigene Fehlerroutine einsetzen

Durch die Definition einer eigenen Fehler-Routine kann selbst auf Fehler reagiert werden. Ein Verweis auf die Routine muss an $_error_handler übergeben werden. Diese wird dann aufgerufen, wenn ein Fehler auftritt. Als erster Parameter wird der Fehlername übergeben, gefolgt von weiteren Angaben. Beim Fehler perl_error ist dies zum Beispiel der Text des Perl-Fehlers. Ist der Rückgabewert logisch falsch (also 0 oder leer oder undef), so wird danach die baseportal-eigene Fehlerroutine ausgeführt, bei logisch wahr (jeder andere Wert, z.B. 1) nicht. Protokolliert alle aufgetretenen Fehler in der Datei error_log mit. Aufgrund des Rückgabewerts 0 wird danach die baseportal-Fehlerroutine aufgerufen und der Fehlertext also wie normal ausgegeben. Der Nutzer merkt keinen Unterschied.
Alte Version vom 12.9.2006, 01:21 - Stichworte: Fehler, Rückgabewerte, error, $_error, %_error, @_error, $_error_handlerc und wiederherstellen - +

© baseportal GmbH. Alle Rechte vorbehalten.


powered in 0.02s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!