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()
函数被设置。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341