PHP 错误类型

PHP 错误类型

基本上,错误是由编写错误的语法或错误的代码引起的程序错误。错误消息在您的浏览器上显示,包含文件名,位置,描述错误的消息和发生错误的行号。

通常有不同类型的错误。 在PHP中,主要考虑四种类型的错误:

  1. 语法错误或解析错误
  2. 致命错误
  3. 警告错误
  4. 注意错误

我们将详细讨论所有这些错误,并提供示例:

语法错误或解析错误

语法错误是源代码语法中的错误,这可能是由于程序员的关注或知识不足而导致的。它也被称为 解析错误 。编译器用于在编译时捕获语法错误。

注意:语法错误会停止代码的执行。

这些错误可能发生的常见原因包括未关闭的引号,缺少分号,多余或缺少的括号,或未关闭的括号等。在编译程序时,编译器可以捕获语法错误。它会给出解析错误或语法错误的消息。

示例1:缺少分号

<?php
    /*------------------语法 error-------------------*/
    echo "Alex: Hie! I'm Alex. </br>";
    echo "Bob: I'm Bob. How are you?"
    echo "Alex: I'm good! and you?";
    echo "Bob: I'm also good";
?>

输出

Parse error: 语法 error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in C:\xampp\htdocs\program\fatalerror.php on line 5

解释: 在上面的示例中,第5行缺少了一个分号(;)。因此,它产生了一个解析错误,并在输出中显示了一个错误消息。

示例2:缺少美元符号

<?php
    /*------------------语法 error-------------------*/
    telecom = "Airtel";
    automobile = "Jaguar";
    echotelecom;
    echo $automobile;
?>

输出

Parse error: 语法 error, unexpected '=' in C:\xampp\htdocs\program\fatalerror.php on line 5

解释: 在上面的示例中,第5行缺少了美元符号($)。因此,它生成了一个解析错误,并在浏览器中显示了一个错误消息,如输出中所示。

致命错误

致命错误是另一种类型的错误,它是由于使用了未定义的函数而发生的。PHP编译器可以理解PHP代码,但也能识别未定义的函数。这意味着当调用函数而没有提供定义时,PHP编译器会生成一个致命错误。

当调用一个未定义的函数时,会生成一个致命错误。看下面的示例,其中包含致命错误 –

示例调用未定义的函数

<?php
    /*------------------fatal error-------------------*/
    function add(f1,f2) {
        sum =f1 + f2;
        echo "Addition:" .sum;
    }

    f1 = 23;f2 = 56;

    //call the function that is not defined
    //Generate fatal error
    catch_fatal_error();
    //echo "Fatal Error";   
?>

在上面的代码中,我们定义了add()函数,但调用了另一个函数,即catch_fatal_error()。因此,它会生成一个致命错误并在浏览器上打印错误消息,如下所示:

输出

Fatal error: Uncaught Error: Call to undefined function catch_fatal_error() in C:\xampp\htdocs\program\fatalerror.php:15 Stack trace: #0 {main} thrown in C:\xampp\htdocs\program\fatalerror.php on line 13

警告错误

当程序员试图包含一个缺失的文件时会生成警告。PHP函数调用了一个不存在的文件。警告错误不会停止/阻止程序的执行。

生成警告错误的主要原因是向函数传递了不正确的参数数量,或者包含了一个缺失的文件。

示例包含缺失的文件

<?php
    /*-------------------warning error------------------*/
    $cmpny = 'javatpoint';
    echo "Warning Error: ";

    //include a file in the code
    include ('jtp.php');    
?>

输出

Warning Error:
Warning: include(jtp.php): failed to open stream: No such file or directory in C:\xampp\htdocs\program\fatalerror.php on line 7

Warning: include(): Failed opening 'jtp.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\program\fatalerror.php on line 7

解释: 在这个示例中,我们试图在程序中包含一个不存在的文件。因此,它生成了一个警告并显示了一个错误消息。

注意错误

注意错误和警告错误相同。当程序包含一些错误时,会发生注意错误。但它允许/继续执行带有提示错误的程序。注意错误不会阻止代码的执行。 例如 - 访问未定义的变量。

一般情况下,当我们试图使用或访问一个未定义的变量时,会发生注意错误。请看下面的示例理解它-

示例:访问未定义的变量

<?php
    /*------------------notice error-------------------*/
    telecom = "Airtel";
    echotelecom;
    echo $automobile;
?>

输出

Airtel
Notice: Undefined variable: automobile in C:\xampp\htdocs\program\fatalerror.php on line 6

解释: 在上面的示例中,我们试图使用一个未定义的变量 $automobile 。因此,它生成了一个通知 未定义的变量 并继续执行程序。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程