首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过phplint正确处理PHP中的错误

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

Stack Overflow用户
提问于 2011-03-18 01:01:02
回答 3查看 909关注 0票数 0

我是PHP的新手。我在服务器端脚本上有一行打开文件的代码:

$fh = fopen($myFile, 'r');

当我通过phplint运行这段代码时,它会通知我:

代码语言:javascript
复制
                $fh = fopen($myFile, 'r');
                            \_ HERE
==== 19: notice: unhandled error(s): E_WARNING

我之前尝试创建了一个错误处理程序,并专门设置它来处理E_WARNING,如下所示:

set_error_handler("errorHandler", E_WARNING);

但我也收到了同样的通知。我想正确地做这件事。有没有其他机制来处理这个错误,phplint认为是正确的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-01 12:21:15

PHPLint警告表明,如果出现错误条件,该函数(在本例中为fopen)被记录为“引发”E_WARNING。

如果发生这种情况,很可能会在控制台或屏幕上显示一条错误消息。大多数程序员都不希望在生产代码中出现这种情况,他们会通过添加@来消除此警告或更改php.ini (error_reporting)来消除错误。

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

代码语言:javascript
复制
$fh = @fopen($myFile, 'r');
// check $fh here

显然,在调用前添加file_exists()或is_readable()不会使PHPLint静默。

参考:http://www.icosaedro.it/phplint/manual.html?p=errors

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

票数 3
EN

Stack Overflow用户

发布于 2011-03-21 12:52:32

在读取文件之前,可以使用PHP的is_readable()方法查看文件是否存在以及是否可读。

手工录入:http://php.net/manual/en/function.is-readable.php

票数 1
EN

Stack Overflow用户

发布于 2011-03-21 13:17:27

您可以使用@fopen使错误静默,然后检查返回值是否为=== FALSE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5342515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档