In diesem Artikel wird erläutert, wie Sie die PHP-Fehlerbehandlung implementieren.
So implementieren Sie die Fehler-, Warnungs- und Ausnahmebehandlung in PHP, welche Funktionen werden zur Behandlung entsprechender Fehler verwendet
PHP-Ausnahmeaufforderungen sind in drei Kategorien unterteilt: Fehler/Warnung/Hinweis
Fehlerergänzung:
Schwerwiegender Fehler: Schwerwiegender Fehler (Skript beendet)
E_ERROR // Schwerwiegender Ausführungsfehler, Fehler kann nicht behoben werden, Ausführung des Skripts wird angehalten
E_CORE_ERROR // PHP-Start Schwerwiegender Fehler während der Initialisierung
E_COMPILE_ERROR // Schwerwiegender Fehler während der Kompilierung, genau wie ein von der Zend-Skript-Engine generierter E_ERROR
E_USER_ERROR // Benutzerdefinierte Fehlermeldung. Wie die Verwendung der PHP-Funktion trigger_error (der Fehlertyp ist auf E_USER_ERROR eingestellt)
E_RECOVERABLE_ERROR //Schwerwiegende Fehler, die abgefangen werden können. Es weist darauf hin, dass ein potenziell gefährlicher Fehler aufgetreten ist, der jedoch nicht zu einer Instabilität der PHP-Engine geführt hat.
Parse-Fehler: Parsing-Fehler bei der Kompilierungszeit, Syntaxfehler (Skript wird nicht mehr ausgeführt)
E_PARSE // Syntax-Parsing-Fehler bei der Kompilierung
Warnungsergänzung: Warnungsfehler (nur bei A Es erscheint eine Eingabeaufforderungsmeldung und das Skript wird nicht beendet.)
E_WARNING // Laufzeitwarnung (nicht schwerwiegender Fehler).
E_CORE_WARNING // Warnung (nicht schwerwiegender Fehler), die während des PHP-Initialisierungsstarts aufgetreten ist.
E_COMPILE_WARNING // Kompilierungswarnung
E_USER_WARNING // Vom Benutzer generierte Warnmeldung
Ergänzung zur Ausnahmebenachrichtigung: Benachrichtigungsfehler (es werden nur Benachrichtigungsinformationen angegeben, das Skript wird nicht beendet die Operation)
E_NOTICE // Laufzeitbenachrichtigung. Zeigt an, dass das Skript auf eine Situation stößt, die als Fehler erscheinen kann.
E_USER_NOTICE // Vom Benutzer generierte Benachrichtigungsinformationen.
php-Fehlerbehandlungsimplementierung:
register_shutdown_function('funcName') // Der Parameter ist der Name der Funktion, die Fehler erfassen muss, aber register_shutdown_function kann schwerwiegende Fehler nur während der Laufzeit erfassen, nicht Während der Interpretation. Ausführungsfehler, da es sich um eine Funktion handelt, die nach Abschluss der Programmausführung ausgeführt wird (z. B. Syntaxfehler, Fehler, die während der Laufzeit generiert werden, werden nicht abgefangen)
set_error_handler('funcName') //Parameter Es ist Der Funktionsname des Rückrufs, der erfasst werden muss. Er unterscheidet sich von register_shutdown_function, der Fehler während der Ausführung der Funktion erfasst.
Wenn während der Ausführung der Zieldatei ein Fehler auftritt Rufen Sie die angegebene Funktion zurück:
Beispiel:
register_shutdown_function( "fatal_handler" ); set_error_handler("error_handler"); define('E_FATAL', E_ERROR | E_USER_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_RECOVERABLE_ERROR| E_PARSE ); //获取fatal error function fatal_handler() { $error = error_get_last(); if($error && ($error["type"]===($error["type"] & E_FATAL))) { $errno = $error["type"]; // $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; error_handler($errno,$errstr,$errfile,$errline); } }
//Alle Fehler abrufen
function error_handler($errno,$errstr,$errfile,$errline){ $str=<< "errno":$errno "errstr":$errstr "errfile":$errfile "errline":$errline EOF; //获取到错误可以自己处理,比如记Log、报警等等 echo $str; } //error_get_last() 捕获到的执行错误结果 //error_clear_last() 清除最后一次产生的错误信息
//Die beiden oben genannten können alle Fehler, Warnungen und Ausnahmen erfassen, außer für Aus Leistungsgründen wird nicht empfohlen, sie zum Erfassen von Warnausnahmen zu verwenden
In diesem Artikel werden Fehlerbehandlungsmethoden vorgestellt. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
PHP ruft den angegebenen Wert eines mehrdimensionalen Arrays in welcher Spalte des Arrays ab?
Grundlegendes Erlernen von PHP: PHP-Arrays und Datenstrukturen
Grundlegendes Erlernen von PHP: PHP-Dateisystem
Das obige ist der detaillierte Inhalt vonPHP-Fehlerbehandlungs- und Implementierungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!