php:try catch/error冻结服务器脚本

php:try catch/error冻结服务器脚本,php,try-catch,freeze,Php,Try Catch,Freeze,我正在运行一个cronjob脚本,它在try/catch语句(在while循环中)中完全冻结。 捕获短语在记录错误(我放在那里)时起作用,但随后它完全冻结,没有任何输出。 在那之后,我只放了echo“error”在捕捉器内,但不会输出并再次冻结。 添加模具时它会提示,脚本会按预期停止-但我希望捕获错误并继续脚本 while($rs = $res->fetch_assoc()) { try { $rc = new c_movie(); $re

我正在运行一个cronjob脚本,它在try/catch语句(在while循环中)中完全冻结。 捕获短语在记录错误(我放在那里)时起作用,但随后它完全冻结,没有任何输出。 在那之后,我只放了
echo“error”
在捕捉器内,但不会输出并再次冻结。 添加
模具时它会提示,脚本会按预期停止-但我希望捕获错误并继续脚本

while($rs = $res->fetch_assoc())
{

    try
    {
        $rc = new c_movie();
        $result = $rc->search();

    } catch(Throwable $t)
    {
        echo "ERROR!!!!";  // freezing here, does not echo
    }

}
知道是什么导致脚本冻结了吗?
谢谢

我终于自己发现了。。我的代码使用的是get_headers(),这在尝试加载包含404的URL时导致了冻结。服务器似乎在缓存它并冻结,不会触发异常。非常奇怪。

请共享相关代码-很难调试描述。要么您没有共享足够的代码,要么代码没有任何意义。您没有使用任何行外数据
$rs
。还有,可能是因为
$res->fetch_assoc()
只有一个结果吗?
search
做什么?它有自己的内部循环吗?很难想象
$rs=$res->fetch_assoc()
会产生一个无限循环。另外,您希望在哪里看到输出?如果是自动cron作业,则必须在文件中捕获它。或者,您是否在浏览器或CLI中手动运行脚本以对其进行测试?