编辑:从头开始重写,旧问题没用
在递归中抛出异常后发生错误。异常不会在任何地方被捕获,它应该只是弹出并显示uncaught exception error
,它没有。相反,它会产生time limit hit
某种错误。如果我将 var_dumps 放入我的代码中,看起来异常被抛出,但它只是冻结并在超出限制后失败。
这是递归函数的一部分:
if($this->prvky[$iA]->ini < 1 || $this->prvky[$iB]->ini < 1){
echo '--- THROWING ---';
throw new \OutOfBoundsException('ini is smaller than 1');
}
它在测试中运行得很好,可以抛出异常,如果是,它成功地在uncaught exception
.
当没有抛出异常时,在现实世界中运行良好。
但是当条件在现实世界中通过并且抛出异常时,--- THROWING ---
会被打印出来,应该跟在后面uncaught exception
,但是它会疯狂地旋转并在一段时间后失败,从而产生time limit exceeded
错误。我确定会引发异常,并且我确定我不会在任何地方捕获异常。