PHP脚本停止处理警告错误?

时间:2009-11-26 09:47:02

标签: php error-handling

我有一个PHP脚本停止处理(似乎是)PHP警告。错误是一般的“PHP警告:fopen” - “无法打开流:没有这样的文件或目录”。

PHP应该停在这里吗?我只想到致命的错误?

有没有办法让它继续下去?

6 个答案:

答案 0 :(得分:2)

不知道如何继续处理错误,但最好的方法是首先进行错误预防:

http://php.net/manual/en/function.file-exists.php

http://www.php.net/manual/en/function.is-readable.php

答案 1 :(得分:2)

发出警告但脚本继续执行。您的脚本停止的事实更可能与您之后尝试执行的处理有关,但与警告本身无关。

之前使用file_exists和is_readable的建议很好。

答案 2 :(得分:1)

是的,如果error_reporting()级别足够低,那应该是。

是的,有。在fopen之前添加“@”会导致警告,如下所示:@fopen(...)

答案 3 :(得分:1)

As noted on the php documentation page

  

如果打开失败,则会生成级别为E_WARNING的错误。您可以使用@来禁止此警告。

答案 4 :(得分:0)

除了Conrad Meyer在PHP手册中提到的内容之外:

$fres = @fopen('file.ext','w+');
if($fres){
  // so anything you want with the file
}
错误时

fopen返回false。如果在fopen上有一个错误被禁止并且您没有使用if($fres),则后续文件操作函数将抛出错误,指出$fres不是有效的文件句柄。

答案 5 :(得分:-1)

即使它继续下去,该程序很可能不会按照预期的方式工作。无论如何,尝试处理异常:

try {
    # code that may cause an error
}
catch( Exception $e ) {
    # do error handling mechanism
}