Ein Blick auf die Ausnahme- und Fehlerbehandlung von PHP
Ausnahmen und Fehler
Beispiel:
$num = 0; try { echo 1/$num; } catch (Exception $e){ echo $e->getMessage();//并不能执行到这里 } //说明try{}catch{}是用于捕获异常的,而错误是不能捕获到的。 //手动抛出异常进行捕获 $num = 0; try { if($num == 0){ //通过if判断可以处理错误,手动抛出异常(如何实现自动捕获错误呢,需结合三个php内置函数) throw new Exception('除数为零'); } echo 1/$num; } catch (Exception $e){ echo $e->getMessage(); }
Was ist Ausnahme
Eine Situation, die nicht den Erwartungen entspricht, tritt auf, wenn das Programm ausgeführt wird. Es darf passieren (Sie möchten nicht, dass es zu einer abnormalen Situation kommt), aber es ist eine abnormale Situation. Gemäß unserer normalen Logik sind Fehler, die nicht auftreten sollten, aber dennoch auftreten, Fehler in der Logik und in Geschäftsprozessen, keine Kompilierungs- oder Syntaxfehler.
Was ist ein Fehler?
Es ist ein Problem des PHP-Skripts selbst und wird meistens durch eine falsche Syntax verursacht Serverumgebung, was dazu führt, dass der Compiler die Prüfung nicht besteht oder sogar nicht funktioniert. Warnung und Hinweis sind beide Fehler, aber ihre Ebenen sind unterschiedlich und Fehler können nicht durch Try-Catch erfasst werden
Fehlerklassifizierung
Schwerwiegender Fehler: Schwerwiegender Fehler (Skript beendet)
E_ERROR // Schwerwiegender Ausführungsfehler, der Fehler kann nicht behoben werden und die Ausführung des Skripts wird angehalten
E_CORE_ERROR // Während des Initialisierungsprozesses beim PHP-Start Schwerwiegender Fehler
E_COMPILE_ERROR // Schwerwiegender Fehler zur Kompilierungszeit, als ob ein E_ERROR von der Zend-Skript-Engine generiert worden wäre
E_USER_ERROR // Benutzerdefinierte Fehlermeldung. Wie die Verwendung der PHP-Funktion trigger_error (der Fehlertyp ist auf E_USER_ERROR eingestellt)
Parse-Fehler: Parsing-Fehler bei der Kompilierungszeit, Syntaxfehler (Skript wird nicht ausgeführt)
E_PARSE // Syntax-Parsing bei der Kompilierung Fehler
Warnungsfehler: Warnfehler (es werden nur Eingabeaufforderungsinformationen ausgegeben, das Skript bricht die Ausführung nicht ab)
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
Hinweisfehler: Benachrichtigungsfehler (es werden nur Benachrichtigungsinformationen angegeben, die Ausführung des Skripts wird nicht beendet)
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.
Typ 5 ist ein Fehler der Stufe ERROR, der direkt zum Beenden des PHP-Programms führt. Sie sind ERROR = E_ERROR |. E_COMPILE_ERROR |. E_PARSE
Verwenden Sie try {} e){} Um Ausnahmen und Fehler abzufangen, müssen Sie drei Funktionen verwenden:
// 注册一个会在php中止时执行的函数 register_shutdown_function('myShutdownFunction'); function myShutdownFunction() { if ($error = error_get_last()) { var_dump('<b>register_shutdown_function: Type:' . $error['type'] . ' Msg: ' . $error['message'] . ' in ' . $error['file'] . ' on line ' . $error['line'] . '</b>'); } }
//注册异常处理函数, 没有捕获处理的异常,将统一再这里处理 set_exception_handler('myException'); function myException($exception) { var_dump("<b>set_exception_handler: Exception: " . $exception->getMessage() . '</b>'); }
//注册错误处理函数 set_error_handler('myError'); function myError($type, $message, $file, $line) { //var_dump('<b>set_error_handler: ' . $type . ':' . $message . ' in ' . $file . ' on ' . $line . ' line .</b><br />'); throw new Exception($message); }Nach dem Login kopieren
Das Prinzip, alle Fehler abzufangenAus set_error_handler () ist ersichtlich, dass es einige Fehler abfangen kann, jedoch keine Fehler auf Systemebene wie E_ERROR, E_PARSE und andere, dieser Teil jedoch von register_shutdown_function() erfasst werden. Daher kann die Kombination beider sehr gute Funktionen ergeben.
ZusammenfassungDrei Funktionen zum automatischen Erfassen von Ausnahmen und Fehlern
set_error_handler () kann nur einige Fehler erfassen register_shutdown_function () kann in Kombination mit der Funktion set_error_handler() alle Fehler abfangenset_Exception_handler () wird zum Abfangen von Ausnahmen verwendet
error_get_last () und beendet schließlich die Fehlermeldung
In der Funktion, die den Fehler abfängt, lösen Sie die Ausnahme manuell aus, d. h. implementieren Sie set_Exception_handler, um den Fehler abzufangen.
Empfohlenes Tutorial: „PHP-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonEin Blick auf die Ausnahme- und Fehlerbehandlung von PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Alipay PHP ...

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.
