Heim > Artikel > Backend-Entwicklung > PHP-Fehlerkontrolloperator
PHP unterstützt einen Fehlerkontrolloperator: @. Wenn es vor einem PHP-Ausdruck platziert wird, wird jede Fehlermeldung, die dieser Ausdruck möglicherweise erzeugt, ignoriert.
Wenn Sie set_error_handler() verwenden, um eine benutzerdefinierte Fehlerbehandlungsfunktion festzulegen, wird diese weiterhin aufgerufen, aber diese Fehlerbehandlungsfunktion kann (und sollte) error_reporting() aufrufen, und diese Funktion hat @ wird 0 zurückgeben.
Wenn die Funktion „track_errors“ aktiviert ist, werden alle durch den Ausdruck generierten Fehlermeldungen in der Variablen $php_errormsg gespeichert. Diese Variable wird bei jedem Fehler überschrieben. Überprüfen Sie sie daher so früh wie möglich, wenn Sie sie verwenden möchten.
<?php /* Intentional file error */ $my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'"); // this works for any expression, not just functions: $value = @$cache[$key]; // will not issue a notice if the index $key doesn't exist. ?>
Hinweis: Der @-Operator ist nur für Ausdrücke gültig. Eine einfache Regel für Anfänger lautet: Wenn Sie irgendwo einen Wert erhalten können, stellen Sie ihm den @-Operator voran. Sie können es beispielsweise vor Variablen, Funktions- und Include-Aufrufen, Konstanten usw. platzieren. Es kann weder vor der Definition einer Funktion oder Klasse platziert noch in bedingten Strukturen wie if und foreach verwendet werden.
Warnung
[email protected]��[email protected]�[email protected]�� Um die Fehlermeldung zu unterdrücken, wird das Skript dort ohne Angabe des Grundes abstürzen.