PHP Handbuch | ||
---|---|---|
Zurück | Kapitel 11. Operatoren | Nach vorne |
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 globalen 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.
Siehe auch error_reporting().
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. |
Zurück | Zum Anfang | Nach vorne |
Vergleichs-Operatoren | Nach oben | Operatoren zur Programmausführung |