Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen PHP-Ausnahmebehandlung und Fehlerbehandlung
Die Konzepte „Fehler“ und „Ausnahme“ sind sehr ähnlich und können leicht verwechselt werden. Sowohl „Fehler“ als auch „Ausnahme“ weisen darauf hin, dass ein Problem mit dem Projekt vorliegt, und beide liefern relevante Informationen und Fehlertypen.
Der „Ausnahmemechanismus“ erschien jedoch nach dem „Fehlermechanismus“, und „Ausnahme“ ist der Mangel bei der Vermeidung von „Fehlern“. (Empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Experten)
Der wichtigere Punkt ist, dass die häufigste Funktionsbeschreibung, die wir gesehen haben, die häufigste Funktionsbeschreibung ist, da die „Fehler“-Informationen nicht umfangreich sind: Return * bei Erfolg **, gibt FALSE zurück, wenn ein Fehler auftritt. Es kann jedoch viele Gründe für einen Funktionsfehler geben, und es gibt noch mehr Arten von Fehlern. Ein einfaches FALSE kann dem Aufrufer nicht die spezifische Fehlermeldung mitteilen 🎜>
In PHP werden Ausnahmen im Code selbst (im Allgemeinen durch die Umgebung oder illegale Syntax verursacht) als Fehler bezeichnet, und logische Fehler, die während des Betriebs auftreten, werden als Ausnahmen bezeichnet. Fehler können vom Code nicht behandelt werden, Ausnahmen jedoch wird durch try./catch-Verarbeitung verarbeitet.Ausnahme
Eine Ausnahme ist ein Objekt der Exception-Klasse. Sie wird ausgelöst, wenn ein Problem auftritt Durch die Delegation von Verantwortlichkeiten können Ausnahmen auch defensiv genutzt werden, um potenzielle Probleme zu antizipieren und deren Auswirkungen abzumildern.
Ausnahmeobjekt hat zwei Haupteigenschaften: eine ist die Nachricht und die andere ist der numerische Code. Wir können diese beiden Eigenschaften mit getCode() bzw. getMessage() erhalten.
AusnahmebehandlerWie sollen wir also jede Ausnahme abfangen, die möglicherweise ausgelöst wird?
PHP ermöglicht es uns, einen globalen Ausnahmehandler zu registrieren, um alle nicht erfassten Ausnahmen abzufangen.Ausnahmehandler werden mit der Funktion set_Exception_handler() registriert (hier werden anonyme Funktionen verwendet). set_exception_handler(function (Exception $e)
{
echo "我自己定义的异常处理".$e->getMessage();
});
throw new Exception("this is a exception");
//运行结果:我自己定义的异常处理this is a exception
Neben Ausnahmen stellt PHP auch Funktionen zur Fehlermeldung zur Verfügung. PHP kann verschiedene Arten von Fehlern auslösen, z. B. schwerwiegende Fehler, Laufzeitfehler, Fehler bei der Kompilierung, Startfehler und vom Benutzer ausgelöste Fehler. Die Fehlerberichtsmethode kann in php.ini eingestellt werden (hier keine weitere Erklärung)
FehlerbehandlerWie der Ausnahmebehandler können wir
auch Sie verwenden set_error_handler(), um einen globalen Fehlerhandler zu registrieren und Ihre eigene Logik zum Abfangen und Behandeln von PHP-Fehlern zu verwenden.Wir müssen die Funktion die() oder exit() im Fehlerhandler aufrufen. Wenn es nicht aufgerufen wird, setzt das PHP-Skript die Ausführung an der Stelle fort, an der der Fehler aufgetreten ist. Wie folgt: set_error_handler(function ($errno,$errstr,$errfile,$errline)//常用的四个参数
{
echo "错误等级:".$errno."<br>错误信息:".$errstr."<br>错误的文件名:".$errfile."<br>错误的行号:".$errline;
exit();
});
trigger_error("this is a error");//自行触发的错误
echo '正常';
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen PHP-Ausnahmebehandlung und Fehlerbehandlung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!