Fehler-Kontroll-Operatoren

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 .

Siehe auch error_reporting( ) .

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 .