gpt4 book ai didi

php - 为什么 Symfony2 不捕获异常

转载 作者:可可西里 更新时间:2023-10-31 23:58:55 26 4
gpt4 key购买 nike

我有一个仓库

class TurnoRepository extends EntityRepository
{
public function findTurnoActivo()
{
$q = $this
->createQueryBuilder('t')
->where('t.activo = :activo')
->setParameter('activo', true)
->getQuery();

return $q->getSingleResult();
}
}

此方法抛出 NoResultException 但如果我尝试在我的 Controller 中捕获

private function obtenerTurno()
{
$em = $this->getDoctrine()->getEntityManager();
$turno = null;

try {
$turnoActivo = $em->getRepository('MyBundle:Turno')->findTurnoActivo();
} catch (NoResultException $e) {
return false;
}

return $turno;

我的页面上总是出现 500 Internal Server Error

最佳答案

Symfony2 代码是命名空间的,因此您必须为 NoResultException 类添加正确的命名空间,尝试使用:

catch (\Doctrine\ORM\NoResultException $e)

注意 Doctrine 命名空间前面的反斜杠,或者使用 use 导入 NoResultException 类。

关于php - 为什么 Symfony2 不捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12229120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com