Fehler und Ausnahmen in PHP
Fehler und Ausnahmen sind zwei völlig unterschiedliche Konzepte
Fehler
Fehlertypen
Insgesamt 16
值 | 常量 | 说明 | 备注 |
---|---|---|---|
1 | E_ERROR (integer) | 致命的运行时错误。这类错误一般是不可恢复的情况,例如内存分配导致的问题。后果是导致脚本终止不再继续运行。 | |
2 | E_WARNING (integer) | 运行时警告 (非致命错误)。仅给出提示信息,但是脚本不会终止运行。 | |
4 | E_PARSE (integer) | 编译时语法解析错误。解析错误仅仅由分析器产生。 | |
8 | E_NOTICE (integer) | 运行时通知。表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。 | |
16 | E_CORE_ERROR (integer) | 在PHP初始化启动过程中发生的致命错误。该错误类似 E_ERROR,但是是由PHP引擎核心产生的。 | since PHP 4 |
32 | E_CORE_WARNING (integer) | PHP初始化启动过程中发生的警告 (非致命错误) 。类似 E_WARNING,但是是由PHP引擎核心产生的。 | since PHP 4 |
64 | E_COMPILE_ERROR (integer) | 致命编译时错误。类似E_ERROR, 但是是由Zend脚本引擎产生的。 | since PHP 4 |
128 | E_COMPILE_WARNING (integer) | 编译时警告 (非致命错误)。类似 E_WARNING,但是是由Zend脚本引擎产生的。 | since PHP 4 |
256 | E_USER_ERROR (integer) | 用户产生的错误信息。类似 E_ERROR, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。 | since PHP 4 |
512 | E_USER_WARNING (integer) | 用户产生的警告信息。类似 E_WARNING, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。 | since PHP 4 |
1024 | E_USER_NOTICE (integer) | 用户产生的通知信息。类似 E_NOTICE, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。 | since PHP 4 |
2048 | E_STRICT (integer) | 启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。 | since PHP 5 |
4096 | E_RECOVERABLE_ERROR (integer) | 可被捕捉的致命错误。 它表示发生了一个可能非常危险的错误,但是还没有导致PHP引擎处于不稳定的状态。 如果该错误没有被用户自定义句柄捕获 (参见 set_error_handler()),将成为一个 E_ERROR 从而脚本会终止运行。 | since PHP 5.2.0 |
8192 | E_DEPRECATED (integer) | 运行时通知。启用后将会对在未来版本中可能无法正常工作的代码给出警告。 | since PHP 5.3.0 |
16384 | E_USER_DEPRECATED (integer) | 用户产少的警告信息。 类似 E_DEPRECATED, 但是是由用户自己在代码中使用PHP函数 trigger_error()来产生的。 | since PHP 5.3.0 |
30719 | E_ALL (integer) | E_STRICT出外的所有错误和警告信息。 | 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously |
Fehlerstufe
(1) Veraltet Veraltet
<code>if (ereg('/llo/', 'hello world')) { echo 'yes2'; } else { echo 'no2'; } </code>
Ausgabe
<code>Deprecated: Function ereg() is deprecated in /Users/weiheli/www/php/003.php on line 3 no </code>
(2) Hinweis Benachrichtigungsstufe
<code>$arr = ['a'=>'aaa', 'b'=>'bbb']; echo $arr[a]; </code>
Ausgabe
<code>Notice: Use of undefined constant a - assumed 'a' in /Users/weiheli/www/php/003.php on line 4 aaa </code>
(3) Warnstufe Warnung
<code>settype($var, 'abc'); echo $var; </code>
Ausgabe
<code>Warning: settype(): Invalid type in /Users/weiheli/www/php/003.php on line 3 </code>
(4) Schwerwiegender Fehler Schwerwiegende Stufe
<code>// 调用未定义的函数 fn(12); </code>
Ausgabe
<code>Fatal error: Call to undefined function fn() in /Users/weiheli/www/php/003.php on line 3 </code>
(5) Analysefehler Analysefehler
<code>echo 'hello world' </code>
Ausgabe
<code>Parse error: parse error, expecting `','' or `';'' in /Users/weiheli/www/php/003.php on line 3 </code>
(6) E_USER_ Fehler auf Benutzerebene
Konfigurationsfehler
<code>; 是否显示错误。解析错误始终都会显示 display_errors = On ; 显示哪些错误 ;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT error_reporting = E_ALL </code>
Sie können die error_reporting-Direktive zur Laufzeit festlegen
<code>error_reporting() </code>
Sie können auch die ini_set
Funktion verwenden, um
vom Benutzer ausgelöste Fehler festzulegen Fehler
<code>trigger_error(string $error_msg [, int $error_type = E_USER_NOTICE ]) </code>
Protokollierung
Konfiguration in php.ini
<code>是否记录错误日志 log_errors = On 错误日志最大字节数 log_errors_max_len = 1024 是否忽略重复错误 ignore_repeated_errors 是否忽略重复信息来源 ignore_repeated_source 保存到系统日志中 error_log = syslog </code>
Protokollierungsfunktion
<code>error_log() openlog() syslog() closelog() </code>
Angepasste Fehlerbehandlung
<code>set_error_handler — 设置一个用户定义的错误处理函数 </code>
Ausnahme
<code>try { $num = 1 / 0; } catch (Exception $e) { echo $e->getMessage(); } Warning: Division by zero in /Users/weiheli/www/php/003.php on line 4 </code>
Wie Sie dem obigen Code entnehmen können, werden Ausnahmen in PHP nicht automatisch ausgelöst. Sie müssen throw
verwenden, was sich von Java unterscheidet
<code>try { $num = 0; if ($num === 0) { throw new Exception('不能为0'); } } catch (Exception $e) { echo $e->getMessage(); echo 'abc'; } </code>
Eingebaute Ausnahmeklassen wie PDO werden nicht verwendet. Die Anweisungen nach throw
throw
werden nicht ausgeführt
try kann nicht unabhängig verwendet werden
<code>Fatal error: Cannot use try without catch or finally in /Users/weiheli/www/php/003.php on line 8 </code>
Benutzerdefinierte Ausnahmebehandlung
<code>set_exception_handler — 设置一个用户定义的异常处理函数 </code>
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden .
Das Obige stellt die Fehler und Ausnahmen in PHP vor, einschließlich verwandter Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

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.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
