gpt4 book ai didi

php - Symfony2 Controller 不会捕获异常

转载 作者:IT王子 更新时间:2023-10-29 01:23:06 26 4
gpt4 key购买 nike

这是我的删除操作的路由处理程序。只要该项目没有任何关联,它就可以正常工作。

public function projectDeleteAction()
{
try {
$request = $this->get('request');
$my_id = $request->query->get('id');

$em = $this->get('doctrine.orm.entity_manager');

$item = $em->find('MyBundle:Main', $my_id);

$em->remove($item);
$em->flush();

$info = $item->getName();
$result = 0;
}
catch (Exception $e) {
$info = toString($e);
$result = -1;
}

return $this->render('MyBundle:Main:response.xml.twig',
array('info' => $info, 'result' => $result ));
}

我已经解决了尝试删除具有关联的项目的错误,但是通过这个过程,“flush”抛出了 PDOException。我尝试了各种方法来捕获它,但它似乎在 Symfony2 中被捕获,然后它以 HTTP 500 错误响应。有没有办法让 Symfony2 不捕获它以便我可以处理它?这是一个使用 AJAX 的 XML 响应,所以我宁愿按照上面的方法发送一个错误代码。

最佳答案

如果在使用中没有将PDOException指定为Exception,请尝试更改Exception\Exception陈述。 PHP 尝试查找 \YourNamespaceWithController\Exception 而不是 \Exception (并且它不检查此类异常的存在)。

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

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