Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Arten von PHP-Fehlerstufen gibt es?

Welche Arten von PHP-Fehlerstufen gibt es?

青灯夜游
青灯夜游Original
2023-01-30 16:14:383329Durchsuche

PHP-Fehlertypen: 1. Parsing-Fehler oder Syntaxfehler. Dieser Fehler stoppt die Ausführung des Programms und zeigt eine Fehlermeldung an Fehler, aber während der Ausführung werden einige unvernünftige Aspekte des Programms gefunden, was zu einer Warnmeldung führt, und das Programm wird weiterhin ausgeführt. 4. Achten Sie auf Fehler, die Warnfehlern ähneln Das Programm enthält Fehler, ermöglicht jedoch die Ausführung von Skripten. 5. Der Fehler der niedrigsten Ebene (nicht empfohlen, nicht empfohlen) tritt auf, wenn einige abgelaufene Funktionen verwendet werden, und das Programm wird weiterhin ausgeführt.

Welche Arten von PHP-Fehlerstufen gibt es?

Die Betriebsumgebung dieses Tutorials: Windows7-System, PHP8-Version, DELL G3-Computer

1. PHP-Fehlertyp

Schwerwiegender Fehler > Hinweis > Veraltet

1. Parse-Fehler oder Syntaxfehler (Parse-Fehler)

Grammatikfehler sind der häufigste Fehler in der Programmierung und am einfachsten zu beheben: Wenn ein Semikolon fehlt Fehlermeldung wird 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. ) hat keine Deklarationsdefinition und gibt daher einen Fehler aus.

Welche Arten von PHP-Fehlerstufen gibt es?3. Warnung:

Es liegt kein Syntaxfehler im Programm vor, aber während des Ausführungsvorgangs findet PHP einige unzumutbare Teile des Programms und gibt eine Warnmeldung aus, das Programm fährt jedoch fort die Ausführung. Beispiel: Die Verwendung von 0 als Divisor führt dazu, dass das Programm fehlerhaft läuft und eine Fehlermeldung ausgibt.

<?php 
function add($x, $y) { 
    $sum = $x + $y; 
    echo "sum = " . $sum; 
}
$x = 0; 
$y = 20;
add($x, $y); 

diff($x, $y); 
?>
Fehler:

4. Hinweis:

Welche Arten von PHP-Fehlerstufen gibt es?

Es ähnelt einem Warnfehler, was bedeutet, dass das Programm Fehler enthält, aber die Ausführung von Skripten ermöglicht. 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     $a = 1;
    $b = 0;
    $c = $a / $b;
    echo "$a / $b = $c";
?>
Erklärung: Dieses Programm verwendet die nicht deklarierte Variable $y und gibt daher eine Fehlermeldung aus.

Welche Arten von PHP-Fehlerstufen gibt es?5. Der Fehler der niedrigsten Ebene (veraltet, nicht empfohlen, nicht empfohlen)

tritt auf, wenn einige abgelaufene Funktionen verwendet werden, und das Programm wird weiterhin ausgeführt. 2. PHP-Fehlerkonfiguration sofort. Allerdings nur im Bereich hinter dem Funktionsaufruf error_reporting() im aktuellen Skript.

<?php   
header("content-type:text/html;charset=utf-8");
$x = "PHP中文网"; 
echo $x; 
echo $y; 
?>
Der Parameter kann eine Ganzzahl oder der entsprechende Konstantenbezeichner sein. Es wird empfohlen, die Konstantenform zu verwenden. Der Rückgabewert ist der Wert (Ganzzahlwert) der am aktuellen Standort gültigen Fehlermeldeebene. Hinweis: Der Standardwert von display_errors in der Konfigurationsdatei php.ini ist „On“, was bedeutet, dass Fehlermeldungen angezeigt werden. Wenn dieser Wert auf „Off“ gesetzt ist, werden alle Fehlermeldungen deaktiviert.

Verwenden Sie error_reporting(0) oder fügen Sie

vor der Funktion hinzu, um die Fehlerausgabe zu unterdrücken und zu verhindern, dass Fehlermeldungen vertrauliche Informationen preisgeben.

ParameterebeneNeue Fehlerberichtsebene. Kann eine Bitmaske oder eine benannte Konstante sein.

Es wird empfohlen, benannte Konstanten zu verwenden, um die Kompatibilität mit zukünftigen Versionen sicherzustellen. Aufgrund der Hinzufügung von Fehlerstufen und der Vergrößerung des Bereichs ganzzahliger Werte verhalten sich ältere ganzzahlbasierte Fehlerstufen nicht immer wie erwartet.

Mögliche Level-Werte (Fehlermeldeebene in PHP) Häufig: insgesamt etwa 15

Welche Arten von PHP-Fehlerstufen gibt es?

15个正好对应二进制的15位。

需要注意的是, 上述表中的字段, 不是一成不变的, 不同的PHP版本, 值可能会不同

任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。

例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

例:

<?php
     error_reporting(0);                //禁用错误报告
     error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误
     error_reporting(E_ALL);            //报告所有错误
     error_reporting(E_ALL ^ E_NOTICE); //除E_NOTICE报告所有错误,是在php.ini的默认设置
     error_reporting(-1);               //报告所有 PHP 错误
     error_reporting(3);                //不报E_NOTICE
     error_reporting(11);               //报告所有错误
     ini_set(&#39;error_reporting&#39;, E_ALL); // 和 error_reporting(E_ALL); 一样
     error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//表示php错误,警告,语法错误,提醒都返错。
?>

三、PHP异常

PHP的异常是PHP5的新增特性,与JAVA/C#的异常不同,PHP异常需要手动抛出throw new Exception,而不是系统自动抛出。

PHP错误与异常的区别,他们是2个不同的概念,但有共同的地方:
如果异常不捕获处理,程序将会终止,并报出Fatal Error 错误,看到这里大家就会觉得异常是不是错误的一种,这是一种错觉,但这样理解也可以。但异常捕获后程序可以继续执行,而真正的Fatal Error错误出现后程序就必须终止。

异常可以使用 try{}catch(){} 来捕获捕获,捕获之后后续代码可以继续执行;而错误是无法使用 try{}catch(){} 捕获的。
如果抛出了异常,就必须捕获它,否则程序终止执行。

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWelche Arten von PHP-Fehlerstufen gibt es?. 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