错误类型
Error是程序中的错误。它可以有几种类型。错误的语法或逻辑可能导致错误。它是一种错误的类型或对代码有错误认识的条件。
PHP中有各种类型的错误,但它基本上包含四种主要类型的错误。
- 解析错误或语法错误:它是程序员在程序源代码中所做的错误类型。语法错误被编译器捕获。在修复语法错误之后,编译器编译代码并执行它。解析错误可能会导致未闭引号、缺少或额外的括号、未闭大括号、缺少分号等
例子
123456<?php$x = "sky8g";y = "Computer science";echo $x;echo $y;?>
错误
12PHP Parse error: syntax error, unexpected '='in /home/18cb2875ac563160a6120819bab084c8.php on line 3
说明:在上面的程序中,$ 符号在第3行中丢失,因此它给出了一个错误消息。 - 致命错误:这是PHP编译器理解PHP代码但识别未声明函数的错误类型。这意味着调用函数时不需要定义函数。
例子
12345678910111213<?phpfunction add($x, $y){$sum = $x + $y;echo "sum = " . $sum;}$x = 0;$y = 20;add($x, $y);diff($x, $y);?>
错误
1234567PHP Fatal error: Uncaught Error:Call to undefined function diff()in /home/36db1ad4634ff7deb7f7347a4ac14d3a.php:12Stack trace:#0 {main}thrown in /home/36db1ad4634ff7deb7f7347a4ac14d3a.php on line 12
说明:在第12行中,函数被调用,但是函数的定义不可用。它给出了误差。 - 警告错误:警告错误的主要原因包括文件丢失。这意味着PHP函数调用丢失的文件。
例子
12345678<?php$x = "sky8g";include ("gfg.php");echo $x . "Computer science portal";?>
错误
123456PHP Warning: include(gfg.php): failed toopen stream: No such file or directory in/home/aed0ed3b35fece41022f332aba5c9b45.php on line 5PHP Warning: include(): Failed opening 'gfg.php'for inclusion (include_path='.:/usr/share/php') in/home/aed0ed3b35fece41022f332aba5c9b45.php on line 5
说明:这个程序调用一个未定义的文件gfg。php是不可用的。它会产生误差。 - 注意错误:类似于警告错误。这意味着程序包含一些错误的内容,但它允许执行脚本。
12345678<?php$x = "sky8g";echo $x;echo $g;?>
错误
12PHP Notice: Undefined variable: geeks in/home/84c47fe936e1068b69fb834508d59689.php on line 5
输出
1sky8g
说明:这个程序使用未声明的变量$g,所以它给出错误信息。
PHP错误常量及其描述:
- E_ERROR:导致脚本终止的致命错误
- E_WARNING:运行时警告,不会导致脚本终止
- E_PARSE:编译时解析错误。
- E_NOTICE:代码错误导致的运行时通知
- E_CORE_ERROR: PHP初始启动(安装)期间发生的致命错误
- E_CORE_WARNING: PHP初始启动时出现的警告
- E_COMPILE_ERROR:脚本的致命编译时错误提示问题。
- E_USER_ERROR:用户生成的错误消息。
- E_USER_WARNING:用户生成的警告消息。
- E_USER_NOTICE:用户生成的通知消息。
- E_STRICT:运行时通知。
- E_RECOVERABLE_ERROR:可捕获的致命错误,表示一个危险的错误
- E_DEPRECATED:运行时通知。