Übliche Fehlertypen in PHP sind: 1. Parse-Fehlertyp, der einen Parsing-Fehler oder Syntaxfehler anzeigt; 3. Warnungstyp, der einen Warnfehler anzeigt; 5 . Veralteter Typ, der den Fehler der niedrigsten Ebene angibt.
Das Betriebssystem dieses Tutorials: Windows 10-System, PHP-Version 8.1, Dell G3-Computer.
1. PHP-Fehlertyp
PHP-FehlerstufeSchwerwiegender Fehler > Veraltet1. Syntaxfehler Dies ist der häufigste Fehler in der Programmierung und am einfachsten zu beheben. Wenn beispielsweise ein Semikolon fehlt, wird eine Fehlermeldung angezeigt. Dieser Fehler stoppt die Programmausführung und zeigt eine Fehlermeldung an. Wir können das Programm anhand der Fehlermeldung korrigieren und erneut ausführen. 【Beispiel】Im Folgenden werden häufige Syntaxfehler und zugehörige Fehlermeldungen anhand von einfachem Code demonstriert.
<?php $a = 1; $b = 2; $c = $a + $b echo ; ?>
; wird am Ende von Zeile 4 im obigen Code weggelassen, daher wird beim Ausführen des obigen Codes die folgende Fehlermeldung angezeigt:
Parse error: syntax error, unexpected 'echo' (T_ECHO) in D:\WWW\index.php on line 5
Wie aus dem obigen Beispiel und den Ausführungsergebnissen ersichtlich ist, verhindern Syntaxfehler das Programm von der weiteren Ausführung abhalten. Erst wenn diese Fehler behoben sind, kann das Programm reibungslos ausgeführt werden.
2. Schwerwiegender Fehler:Dies ist die Art von Fehler, bei der der PHP-Compiler den PHP-Code versteht, aber eine nicht deklarierte Funktion identifiziert. Dies bedeutet, dass eine Funktion ohne Funktionsdefinition aufgerufen wird. Das Programm meldet direkt einen Fehler und der Code muss geändert werden! ! ! Um die Programmausführung zu unterbrechen, können Sie die Funktion register_shutdown_function() verwenden, um eine Funktion auszulösen, bevor das Programm beendet wird, z. B.
<?php function add($x, $y) { $sum = $x + $y; echo "sum = " . $sum; } $x = 0; $y = 20; add($x, $y); diff($x, $y); ?>
Es liegt kein Syntaxfehler im Programm vor, aber während des Ausführungsprozesses wird PHP einige unzumutbare Aspekte des Programms feststellen und daher eine Warnmeldung auslösen, das Programm wird jedoch weiterhin ausgeführt. Beispiel: Die Verwendung von 0 als Divisor führt dazu, dass das Programm fehlerhaft läuft und eine Fehlermeldung ausgibt.
<?php $a = 1; $b = 0; $c = $a / $b; echo "$a / $b = $c"; ?>
Fehler:
4. Hinweis:
Es ähnelt einem Warnfehler, was bedeutet, dass das Programm einen Fehler enthält, das Skript jedoch ausgeführt werden kann. Es wird angezeigt, wenn einige undefinierte Variablen, Konstanten oder Array-Schlüssel ohne Anführungszeichen verwendet werden, und das Programm wird weiterhin ausgeführt<?php
header("content-type:text/html;charset=utf-8");
$x = "PHP中文网";
echo $x;
echo $y;
?>
tritt auf, wenn einige abgelaufene Funktionen verwendet werden, und das Programm wird weiterhin ausgeführt.
2. PHP-Fehlerkonfiguration Zusätzlich zur Einstellung im Skript können Sie es auch in der php.ini-Konfigurationsdatei konfigurieren error_reporting = E_ALL&~E_NOTICE; //设置错误报告级别
display_errors = 1; //开发环境开启,生产环境关闭
Die PHP-Ausnahme ist eine neue Funktion von PHP5 ähnelt JAVA /C#-Ausnahmen. PHP-Ausnahmen müssen manuell durch Auslösen einer neuen Ausnahme ausgelöst werden, anstatt automatisch vom System ausgelöst zu werden. Der Unterschied zwischen PHP-Fehlern und Ausnahmen Es handelt sich um zwei verschiedene Konzepte, die jedoch etwas gemeinsam haben:
Wenn die Ausnahme nicht abgefangen und behandelt wird, wird das Programm beendet und meldet einen schwerwiegenden Fehler Sie sehen das. Anomalien sind keine Art von Fehler. Das ist eine Illusion, aber es kann so verstanden werden. Das Programm kann jedoch weiterhin ausgeführt werden, nachdem die Ausnahme abgefangen wurde. Das Programm muss jedoch beendet werden, nachdem der tatsächliche schwerwiegende Fehler aufgetreten ist.
Ausnahmen können mit try{}catch(){}
erfasst werden. Nach der Erfassung kann nachfolgender Code weiter ausgeführt werden, während Fehler nicht mit try{}catch(){} erfasst werden können. </ code>erfasst. </p><p>Wenn eine Ausnahme ausgelöst wird, muss diese abgefangen werden, andernfalls bricht das Programm die Ausführung ab. </p><p><code>try{}catch(){}
来捕获捕获,捕获之后后续代码可以继续执行;而错误是无法使用try{}catch(){}
捕获的。
如果抛出了异常,就必须捕获它,否则程序终止执行。
四、PHP异常与错误的抛出
异常抛出:throw new Exception(‘Some Error Message’);
错误抛出:trigger_error();
trigger_error()
触发的错误不会被try-catch异常捕获语句捕获
五、PHP错误处理
set_error_handler()
只能处理Deprecated、Notice、Waning这三种级别错误,而且处理后,脚本将会继续执行发生错误的后一行。
register_shutdown_function()
这个方法是脚本结束前的最后一个回调函数,所以无论是die()/错误(异常)/还是脚本正常结束都会调用
六、PHP异常处理
set_exception_handler()
设置默认的异常处理程序,有try/catch捕获的话这个函数就不会执行,反之就会执行,而且执行的话,脚本将不会继续执行发生异常的后一行代码,程序马上中止
set_exception_handler()
4. PHP-Ausnahmen und Fehler werden ausgelöst
throw new Exception('Some Error Message');
🎜🎜Fehler wird ausgelöst: trigger_error();
🎜🎜trigger_error()
Der ausgelöste Fehler wird nicht von der Try-Catch-Exception-Capture-Anweisung erfasst🎜🎜🎜5. PHP-Fehlerbehandlung🎜🎜<?php class App{ function myException($exception) { echo "<b>Exception:</b> " , $exception->getMessage(); } } set_exception_handler(array('App','myException')); throw new Exception('Uncaught Exception occurred'); ?>
set_Exception_handler()</ code>Hinweise🎜<p><code>set_exception_handler(“myException”)
不仅可以接受函数名,还可以接受类的方法(公开的静态方法 及 公开的非静态方法 都可以),但需要以 数组形式 传递,数组的第一值为“类名”,第二个参数为“方法名”,如下代码所示:<?php class App{ function myException($exception) { echo "<b>Exception:</b> " , $exception->getMessage(); } } set_exception_handler(array('App','myException')); throw new Exception('Uncaught Exception occurred'); ?>
七、PHP7 异常处理的大变化
在PHP7之前,Deprecated、Notice、Waning这类错误是可以捕获的(使用set_error_handler()
函数),而Fatel Error无法捕获的。
在PHP7之后,出现了一个异常与错误通用的接口Throwable,Exception类与Error类都实现了该接口,导致Error类或Error类的派生类的错误对象(大部分Fatel Error,而之前三类错误不变)也可以像Exception一样被捕获(2种捕获方法:1、try/catch 2、set_exception_handler())。
Das obige ist der detaillierte Inhalt vonWas sind die häufigsten Fehlertypen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!