PHP user_error() 函数用于生成用户定义的错误消息。它用于在满足用户指定的条件时显示错误消息。它可以与内置错误处理程序或使用 set_error_handler() 方法定义的用户定义函数结合使用。
当您想根据给定条件动态执行包含用户定义消息的脚本时,此功能非常有用。否则,此函数返回 True,如果指定了无效的错误类型,则返回 False。
此函数的工作方式与 trigger_error() 函数相同。
语法
以下是 PHP 错误处理 user_error() 函数的语法 -
bool user_error ( string $error_msg [, int $error_type] );
参数
以下是 user_error() 函数的参数 -
参数 | 描述 |
---|---|
$error_msg | (必需) 指定错误消息。长度限制为 1024 个字符。 |
$error_types | (可选)指定此错误消息的错误类型。可能的错误类型 -
|
返回值
user_error() 函数在成功时返回 True。如果指定了错误的 error_type,则为 False。
PHP 版本
user_error() 函数首次在 PHP 4 中引入,在 PHP 5、PHP 7 和 PHP 8 可继续运行。
示例 1
下面简单使用 PHP 错误处理 user_error() 函数来显示用户定义的警告消息。它会启动一条不是必需的信息性消息,该消息不会停止脚本。
<?php
// 显示一个简单的通知
$message = "这是一个用户定义的通知。";
user_error($message, E_USER_NOTICE);
echo "通知后脚本继续运行。";
?>
以下是以下代码的结果 -
通知后脚本继续运行。
示例 2
该程序展示了如何借助 user_error() 函数生成警告。将向用户显示警告,但脚本仍将运行。基本上,我们使用可选参数 $error_types 的 E_USER_WARNING 类型用于给定用户生成的运行时错误。
<?php
// 触发警告
$age = 15;
if ($age < 18) {
user_error("警告:必须年满18岁才能继续。", E_USER_WARNING);
}
echo "警告后脚本继续运行。";
?>
这将生成以下输出 -
警告后脚本继续运行。
示例 3
现在,下面的代码使用 user_error() 方法中的 E_USER_ERROR,并创建一个严重的错误消息。触发错误时,程序执行将停止。
<?php
// 触发致命错误
$divisor = 0;
if ($divisor == 0) {
user_error("错误:不允许除零。", E_USER_ERROR);
}
// 由于严重错误,此行将不会执行
echo "此消息将不会显示。";
?>
这将创建以下输出 -
示例 4
在以下示例中,我们使用 user_error() 函数并将其与自定义错误处理程序结合使用。该程序使用 user_error() 函数以用户定义的方式处理错误,并使用 set_error_handler() 设置自定义错误处理程序。
<?php
// 自定义错误处理函数
function customErrorHandler($errno, $errstr) {
echo "自定义错误 [$errno] : $errstr\n";
return true;
}
// 设置自定义错误处理程序
set_error_handler("customErrorHandler");
// 触发用户定义的错误
user_error("这是一个自定义处理的错误。", E_USER_WARNING);
echo "脚本在自定义错误处理后继续运行。";
?>
以下是上述代码的输出 -