如何捕获PHP中的file_get_contents()抛出的异常?

时间:2011-06-21 03:10:06

标签: php file exception file-io

这是我的代码:

if(!$fileContents = file_get_contents($pathToXMLFile,true))
{
  throw new RuntimeException("Could not open .xml file");
}

我想将此错误作为异常捕获,以便我可以正确处理它。但是,在我获得更改以捕获它之前,脚本似乎会中止。这有什么解决方法吗?

P.S。:当我尝试这样做时,我只会打开 faile来打开流。没有此类文件或目录错误消息。

提前致谢

1 个答案:

答案 0 :(得分:3)

这会将所有错误,警告和通知转换为例外:

function exceptions_error_handler($severity, $message, $filename, $lineno) {
  if (error_reporting() == 0) {
    return;
  }
  if (error_reporting() & $severity) {
    throw new ErrorException($message, 0, $severity, $filename, $lineno);
  }
}
set_error_handler('exceptions_error_handler');