PHP 错误处理函数

PHP user_error() 函数用于触发用户定义的错误条件并生成用户级错误/警告/通知消息。它可以与内置错误处理程序结合使用,或者与 set_error_handler( ) 函数。

该函数是 trigger_error() 函数的别名。

语法

user_error(message, error_level) 

    参数

    message必需。 指定此错误的错误消息。它的长度限制为 1024 字节。超过 1024 字节的任何其他字符都将被截断。
    error_level可选。 指定此错误的错误类型。它可以从 E_USER 常量系列中获取值,这些常量是:
    • E_USER_ERROR
    • E_USER_WARNING
    • E_USER_NOTICE(默认)
    • E_USER_DEPRECATED

    返回值

    如果指定了错误的error_level,则返回 false,否则返回 true。

    示例:user_error() 示例

    下面的示例显示了 user_error() 函数的用法。

    <?php
    $dividend = 100;
    $divisor = 0;
    
    if ($divisor == 0) {
      user_error("Cannot divide by zero", E_USER_ERROR);
    } else {
      echo ($dividend/$divisor);
    }
    ?> 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    输出上面的代码将是:

    PHP Fatal error:  Cannot divide by zero in Main.php on line 6 

      示例:在函数内部使用

      再考虑一个示例,其中该函数在函数内部实现,并在出现错误情况时生成错误消息

      <?php
      function divide($dividend, $divisor) {
        if ($divisor == 0) {
          user_error("Cannot divide by zero", E_USER_ERROR);
        } else {
          echo ($dividend/$divisor)."\n";
        }
      }
      
      divide(100, 25);
      divide(100, 10);
      divide(100, 0);
      divide(100, 20);
      ?> 
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13

      上述代码的输出将是:

      4
      10
      
      PHP Fatal error:  Cannot divide by zero in Main.php on line 4 
      • 1
      • 2
      • 3