Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Fehlerkontrolloperator

PHP-Fehlerkontrolloperator

伊谢尔伦
伊谢尔伦Original
2016-11-24 13:29:151664Durchsuche

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 (&#39;non_existent_file&#39;) or
    die ("Failed opening file: error was &#39;$php_errormsg&#39;");
// this works for any expression, not just functions:
$value = @$cache[$key];
// will not issue a notice if the index $key doesn&#39;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.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-AusführungsoperatorNächster Artikel:PHP-Ausführungsoperator