Php CLI:捕获异常后冻结输出

Php CLI:捕获异常后冻结输出,php,command-line-interface,Php,Command Line Interface,在我的控制台脚本中,我用来显示批处理的进度。今天,有以下代码: $progressBar = new CliProgressBar(count($this->contracts)); foreach ($this->contracts as $contract) { echo $progressBar->drawCurrentProgress(); try{ $this->handleSingleContract($contract);

在我的控制台脚本中,我用来显示批处理的进度。今天,有以下代码:

$progressBar = new CliProgressBar(count($this->contracts));

foreach ($this->contracts as $contract) {
    echo $progressBar->drawCurrentProgress();

    try{
        $this->handleSingleContract($contract);
    } catch (Exception $ex) {
        $this->ungeneratedContracts[] = $contract;
    }
}
奇怪的事情发生了。当循环命中异常时,它被捕获,循环继续运行,但输出被冻结,直到脚本结束,然后用大量不应该被缓冲的缓冲数据吹扫屏幕,这些数据在到达时显示。如何避免这种行为?捕获异常后,我是否可以清理缓冲区以使输出再次工作?

为什么不在handleSingleContract调用后移动回显?