php - 如何通过phplint正确处理PHP中的错误

标签 php error-handling

我是PHP的新手。我在打开文件的服务器端脚本上有一行代码:
$fh = fopen($myFile, 'r');
当我通过phplint运行此代码时,它给了我通知:

                $fh = fopen($myFile, 'r');
                            \_ HERE
==== 19: notice: unhandled error(s): E_WARNING

我试着更早地创建一个错误处理程序,并将其专门设置为处理E_WARNING,如下所示:
set_error_handler("errorHandler", E_WARNING);
但我得到同样的通知。我想正确地做到这一点。还有其他机制可以处理phplint认为正确的错误吗?

最佳答案

PHPLint警告表明,如果发生错误情况,该函数(在这种情况下为fopen)被记录为“引发” E_WARNING。

如果发生这种情况,那么很可能会在控制台或屏幕上显示一条错误消息。大多数程序员不希望在生产代码中使用此命令,而是通过添加@来禁止显示此警告或更改php.ini(error_reporting)来使错误静音。

PHPLint只是在提醒您您没有添加@。 Lint希望您的代码更像:

$fh = @fopen($myFile, 'r');
// check $fh here

显然,在调用之前添加file_exists()或is_read()不会使PHPLint静音。

引用:http://www.icosaedro.it/phplint/manual.html?p=errors

引用:http://php.net/manual/en/function.fopen.php
“如果打开失败,则会生成E_WARNING级别的错误。您可以使用@禁止显示此警告。”

关于php - 如何通过phplint正确处理PHP中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342515/

相关文章:

python Pandas : AttributeError: 'str' object has no attribute 'loc'

python - Flask 默认错误处理程序未被调用

java - 如何使用在其他ActionListener事件中声明的变量

php - FFMpeg - 为视频文件创建缩略图

php - 目标类 [UsersTableSeeder] 不存在

php - PDO::prepare() 如何生成 PDOStatement 对象?

php - WordPress:找不到对象

macos - 哪些字段 -[NSResponder PresentError :] show?

php - 如何使用 mailchimp API v1.3 php 创建列表

web-applications - 基于 go 的 Web 应用程序中的错误页面