Heim  >  Artikel  >  Backend-Entwicklung  >  PHP fängt eine schwerwiegende Fehlerinstanz ab

PHP fängt eine schwerwiegende Fehlerinstanz ab

*文
*文Original
2017-12-27 09:46:161501Durchsuche

Wie kann man schwerwiegende Fehler in PHP abfangen? In diesem Artikel werden hauptsächlich Beispiele für die Verwendung der Funktion register_shutdown_function zum Abfangen schwerwiegender Fehler in PHP vorgestellt. Ich hoffe, es hilft allen.

Wenn wir an Projekten arbeiten, passieren aufgrund von Unachtsamkeit gelegentlich fatale Fehler. Wenn display_errors auf „off“ gesetzt ist, wird dem Benutzer eine leere Seite angezeigt. Wenn es aktiviert ist, wird die schwerwiegende Fehlermeldung angezeigt (normale Leute werden dies natürlich nicht tun).

Gibt es also eine Möglichkeit, den schwerwiegenden Fehler im Voraus abzufangen und ihn dem Benutzer in unserem eigenen, benutzerfreundlichen Formular zu melden? In PHP gibt es eine Funktion namens register_shutdown_function, mit der wir eine andere Funktion festlegen können, die aufgerufen werden kann, wenn die Ausführung beendet ist. Das heißt, wenn die Ausführung unseres Skripts abgeschlossen ist oder unerwartet abbricht und die PHP-Ausführung kurz vor dem Beenden steht. Diese Funktion wird aufgerufen.
Sehen Sie sich unten ein Beispiel an:

<?php
$flag = false;
function deal_error(){
    global $flag;
    if (!$flag){
        die("粗问题啦,请稍后再试");
    }
    return false;
}
register_shutdown_function("deal_error");
//将因为致命错误而失败
//$obj = new NotExistClass(); //引入未定义的类
require(&#39;./test.php&#39;);
$flag = true;


Wir setzen das Flag am Programmeintrag auf „false“ und schließlich auf „true“, um anzuzeigen, dass das Programm normal ausgeführt wird. Wenn das Flag am Ende nicht wahr ist, bedeutet dies, dass es irgendwo in der Mitte gestorben ist. Zu diesem Zeitpunkt wird register_shutdown_function aufgerufen, um unser benutzerdefiniertes Fehlerergebnis auszugeben.

Wenn die obige Klasse nicht definiert ist, nicht vorhandene Dateien eingeführt werden (require oder require_once müssen verwendet werden) usw., führt dies zu schwerwiegenden Fehlern. Wenn in Ihrem Programm ein Satzzeichen fehlt oder ein besonderes Sonderzeichen oder ähnliches vorhanden ist, können Sie natürlich nichts dagegen tun.

Verwandte Empfehlungen:

Detaillierte Erläuterung der PHP-Fehlertypen und Abschirmungsmethoden

Detaillierte Erläuterung der Beispiele für PHP-Fehlerbehandlungsmechanismen

PHP-Fehlermeldungskonfiguration

Das obige ist der detaillierte Inhalt vonPHP fängt eine schwerwiegende Fehlerinstanz ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 crc32 FallstricklösungNächster Artikel:PHP crc32 Fallstricklösung