在抛出异常时使用try in try catch不停止

时间:2019-06-02 09:37:15

标签: php-7

我想转换旧代码以使用异常,但是抛出异常时它不应停止。那是旧的代码:

function update()
{
 foreach ($this->instances as $id => $instance)
 {
  if ($instance->exists())
  {
   if (!$instance->save())
   {
        $this->setError($instance->getError());
        continue;
   }
   continue;
  }
}

如果我想使用try catch块,是否需要继续使用以避免脚本停止?这就是try catch的代码:

function update()
{
 foreach ($this->instances as $id => $instance)
 {
  if ($instance->exists())
  {
   try
   {
    $instance->save();
   }
   catch (exception $e)
   {
    echo $e->getMessage();
   }

  }
}

多谢

1 个答案:

答案 0 :(得分:1)

无需添加continue关键字。

如果在try块中引发了异常,则将执行catch块中的代码。之后,其余代码将正常执行。

阅读section about exceptions in the language reference了解详情。