PHP怎么捕捉include_once的错误?

sbnui 2007-06-22 01:57:00
PHP怎么捕捉include_once和require_once的错误?

如果文件不存在,或文件中有编译等其它错误等,可捕捉吗?

DEMO:
try{
include_once("t/ttt.php");
}catch(Exception $e) {
echo 'Caught exception: '.$e->getMessage();
}
...全文
460 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxMix 2012-08-11
  • 打赏
  • 举报
回复
这个问题,PHP是无法解决的。

file_exists()只能检查文件是否存在,而且这个操作,与下一个include操作,形成不了事务,在并发环境下会出问题的。比如,file_exists检查到文件存在后,这个文件立即被另一个并行操作删除,include时任然会出错。

isset,is_系列函数虽然能检查某些核心变量的情况,但要检查全部语言问题,这是没有办法滴。
sbnui 2007-06-25
  • 打赏
  • 举报
回复
虽然答案都不是很符合我的要求,不过还是要谢谢各位帮我看看

看来PHP只能这样处理了,不过解决不了我的需求
cymple 2007-06-23
  • 打赏
  • 举报
回复
file_exists后再处理...
yanxw_227 2007-06-23
  • 打赏
  • 举报
回复
顶下,错误报告都不会,每次就用require_once,这样出错了就看页面的出错提示了!
fxs_2008 2007-06-22
  • 打赏
  • 举报
回复
帮顶了
不会捕抓
只会看错误报告
zeroleonhart 2007-06-22
  • 打赏
  • 举报
回复
文件不存在可以用file_exists()来检查
文件程序错误可以使用isset,is_系列函数来检查某些核心变量的情况
Meteorlet 2007-06-22
  • 打赏
  • 举报
回复
可以这样变通一点:
if(!file_exists("t/ttt.php"))
{
include_once("t/ttt.php");
}
require_once出错是编译时错误,不是RUNTIME的,应该抓不住错误的。
sbnui 2007-06-22
  • 打赏
  • 举报
回复
有人知道不?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧