加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为什么Symfony2不会捕获异常

发布时间:2020-12-13 22:10:10 所属栏目:PHP教程 来源:网络整理
导读:我有一个存储库 class TurnoRepository extends EntityRepository{ public function findTurnoActivo() { $q = $this -createQueryBuilder('t') -where('t.activo = :activo') -setParameter('activo',true) -getQuery(); return $q-getSingleResult(); }}
我有一个存储库

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

        return $q->getSingleResult();
    }
}

抛出NoResultException但是如果我试图捕获我的控制器

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

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

    return $turno;

}

我总是在我的页面上得到500内部服务器错误

解决方法

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

catch (DoctrineORMNoResultException $e)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读