从控制器中执行的命令抛出异常

时间:2016-09-22 09:23:34

标签: symfony

我正在使用Symfony 2,我正在尝试制作一个小问题解决方案包。

我有一个包含Problem字段的实体retry,其中包含有关执行哪个命令以重试之前失败的信息的信息。

所以这是我的控制器的代码:

public function retryAction($id)
{
    $em = $this->getDoctrine()->getManager();

    $problem = $em->getRepository('RBLogsBundle:Problem')->find($id);

    $kernel = $this->get('kernel');

    $application = new Application($kernel);
    $application->setAutoExit(false);

    $input = new ArrayInput($problem->getRetry());

    $output = new BufferedOutput();
    $application->run($input,$output);

    $content = $output->fetch();

    return new Response($content);
}

当我的命令失败时,它通常会抛出异常。但是在这里,命令期间抛出的异常似乎停止了命令,但我的控制器的执行仍在继续。

我怎么能在控制器中知道命令是好还是坏?

1 个答案:

答案 0 :(得分:2)

抱歉,我在Application类中找到了包含setCatchExceptions()方法的解决方案。解决方案如下:

$application = new Application($kernel);
$application->setCatchExceptions(false);