【发布时间】:2011-12-22 08:40:39
【问题描述】:
我正在尝试包含一个文件,如果该文件不存在/无法打开,则捕获它。我原以为简单的 try/catch 语句会起作用,但 PHP 似乎完全忽略了它,并且出错了。
有什么想法吗?我知道在 stackoverflow 上还有其他类似的问题,我见过它们,但似乎没有一个有正确的、有效的答案。
【问题讨论】:
标签: php exception include try-catch
我正在尝试包含一个文件,如果该文件不存在/无法打开,则捕获它。我原以为简单的 try/catch 语句会起作用,但 PHP 似乎完全忽略了它,并且出错了。
有什么想法吗?我知道在 stackoverflow 上还有其他类似的问题,我见过它们,但似乎没有一个有正确的、有效的答案。
【问题讨论】:
标签: php exception include try-catch
由于include() 失败时返回false,只需检查它是否返回true,然后执行die() 之类的操作或显示错误。
if (!include('page.php'))
die('Error.');
【讨论】:
die,你还不如直接使用require。
可以查看include的返回值是否失败:
if((@include $filename) === false)
{
// handle error
}
您会注意到我包含了错误抑制运算符 (@) 以隐藏标准错误消息,使其不被显示。
【讨论】: