我有如下的代码:
try {
$user = $query->getSingleResult();
} catch (Doctrine\ORM\NoResultException $e) {
return null;
} catch (Exception $e) {
return null;
}
getSingleResult()
如果没有找到行,将抛出 NoResultException
。 然而,看起来我仍然收到了异常... catch 似乎没有起作用。为什么会这样?
如果你的代码有命名空间,尝试使用以下方法:
catch (\Doctrine\ORM\NoResultException $e)
注意Doctrine命名空间前面的反斜杠。还可以添加一个
。 use Exception;
NoResultException
并在文件头部添加use Doctrine\ORM\NoResultException;
。 - Yann Sagon