PHP-Fehlerbehandlungs- und Implementierungsmethoden

jacklove
Freigeben: 2023-03-27 12:26:01
Original
1457 Leute haben es durchsucht

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);
}
}
Nach dem Login kopieren

//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() 清除最后一次产生的错误信息
Nach dem Login kopieren

//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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage