PHP unterstützt einen Operator zur Fehlerkontrolle: Das @-Symbol.
Stellt man das @ in PHP vor einen Ausdruck werden alle Fehlermeldungen,
die von diesem Ausdruck erzeugt werden könnten, ignoriert.
Ist das track_errors-Feature
aktiviert, werden alle Fehlermeldungen, die von diesem Ausdruck erzeugt
werden, in der Variablen
$php_errormsg
gespeichert. Da diese Variable mit jedem neuen Auftreten eines Fehlers
überschrieben wird, sollte man sie möglichst bald nach Verwendung des
Ausdrucks überprüfen, wenn man mit ihr arbeiten will.
<?php
/* Beabsichtigter Dateifehler */
$my_file = @file ('nicht_vorhandene_Datei') or
die ("Datei konnte nicht geöffnetwerden: Fehler war:'$php_errormsg'");
// Das funktioniert bei jedem Ausdruck, nicht nur bei Funktionen:
$value = @$cache[$key];
// erzeugt keine Notice, falls der Index $key nicht vorhanden ist.
?>
Anmerkung:
Der @-Operator funktioniert nur bei
Ausdrücken. Eine einfache
Daumenregel: wenn Sie den Wert von etwas bestimmen können, dann
können Sie den @-Operator davor schreiben. Zum Beispiel können Sie
ihn vor Variablen, Funktionsaufrufe und vor
include() setzen, vor Konstanten und so weiter.
Nicht verwenden können Sie diesen Operator vor Funktions- oder
Klassendefinitionen oder vor Kontrollstrukturen wie zum Beispiel
if und foreach und so weiter.
Anmerkung:
Der @ Fehler-Kontroll-Operator verhindert jedoch keine Meldungen,
welche aus Fehlern beim Parsen resultieren.
Warnung
Zum gegenwärtigen Zeitpunkt deaktiviert der "@"
Fehler-Kontrolloperator die Fehlermeldungen selbst bei kritischen
Fehlern, die die Ausführung eines Skripts beenden. Unter anderem
bedeutet das, wenn Sie "@" einer bestimmten Funktion voranstellen,
diese aber nicht zur Verfügung steht oder falsch geschrieben wurde, Ihr
PHP-Skript einfach beendet wird, ohne Hinweis auf die Ursache.