PHP 错误处理程序
在本教程中,我们将介绍 PHP 中的错误处理。我们将介绍 PHP 错误处理的重要性及其工作原理。
什么是 PHP 中的错误处理
这是识别程序中的错误并对其采取行动的过程。PHP 错误检查代码将提高你程序的安全性并使其更加专业。
我们将研究的方法包括:
-
die()
函数的基本错误处理。 - 自定义错误处理。
PHP 中 die()
函数的基本错误处理
die()
函数将向网络发送消息并退出脚本。
在下面的示例代码中,我们将尝试打开根文件夹中不存在的文件。让我们看看发生了什么。
<?php
$file=fopen("sampletutorial.txt","r");
?>
输出:
Warning: fopen(sampletutorial.txt): Failed to open stream: No such file or directory in C:\xampp\htdocs\projects\New folder\PHP Error Handling\Example code 1.php on line 2
为防止出现此错误,我们可以使用 die()
函数打印一条消息并退出脚本,如下所示。
<?php
if(file_exists("sampletutorial.txt")) {
$file = fopen("sampletutorial.txt", "r");
} else {
die("Error: The file does not exist.");
}
?>
输出:
Error: The file does not exist.
那好多了。让我们看看自定义错误处理程序。
在 PHP 中创建自定义错误处理程序
自定义错误处理程序必须至少有两个参数。
-
error_level
– 这是错误报告级别。 -
error_message
– 这是你要打印的消息。
该函数最多接受五个参数。这些都是:
-
error_file
– 此参数指定有错误的文件。 -
error_line
– 此参数显示有错误的编码行。 -
error_context
– 显示所有有错误的变量和值。
不同类型的错误报告级别:
[1] E_ERROR
[2] E_WARNING
[8] E_NOTICE
[256] E_USER_ERROR
[512] E_USER_WARNING
[1024] E_USER_NOTICE
[2048] E_STRICT
[8191] E_ALL
让我们创建一个自定义错误处理程序。下面的示例代码显示了我们如何创建自定义函数来处理 PHP 中的错误。
<?php
function mycustomError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Terminating Script";
die();
}
?>
这就是我们创建自定义错误处理程序的方式。接下来是设置错误处理程序,如下所示。
<?php
//error handler function
function mycustomError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr";
}
//set error handler
set_error_handler("mycustomError");
//trigger error
echo($t);
?>
输出:
Error: [2] Undefined variable $t
由于未设置变量 $t
,我们会收到一条错误消息,如输出所示。
触发错误:
在用户可以输入数据的脚本中触发错误非常重要。这样,用户就不会输入非法命令。
我们在 PHP 中使用 trigger_error()
函数,如下面的示例代码所示。
<?php
//error handler function
function mycustomError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr<br>";
echo "Terminating Script";
die();
}
//set error handler
set_error_handler("mycustomError",E_USER_WARNING);
//trigger error
$t = 7;
if ($t>=1) {
trigger_error("Value entered must be 1 or below",E_USER_WARNING);
}
?>
输出:
Error: [512] Value entered must be 1 or below
Terminating Script
在上面的示例代码中,我们通过将变量 $t
的值设置为 7 来触发错误。当变量 $t
大于 1 时,我们的 trigger_error()
函数被设置。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。