我试图抛出异常,我正在做以下事情:
use Symfony\Component\HttpKernel\Exception\HttpNotFoundException;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
Run Code Online (Sandbox Code Playgroud)
然后我按照以下方式使用它们:
throw new HttpNotFoundException("Page not found");
throw $this->createNotFoundException('The product does not exist');
Run Code Online (Sandbox Code Playgroud)
但是我收到的错误就像找不到HttpNotFoundException等.
这是抛出异常的最佳方式吗?
我是Symfony的新手(使用2.2版)并尝试添加自定义异常监听器.我已阅读以下链接但无法使其工作.
我要做的是创建一个自定义的错误异常侦听器,并从我的控制器和服务中使用它,
throw new jsonErrorException('invalid_params');
Run Code Online (Sandbox Code Playgroud)
像这样显示json twig模板.(我正在为我的原生智能手机应用程序开发一个后台程序)
{"status": "error", "message": "invalid_params"}
Run Code Online (Sandbox Code Playgroud)
我已将我的CustomEventListener注册到我的src/My/Bundle/Resources/config/services.yml并创建了一个自定义异常类,如下面的链接所示(覆盖Symfony 2异常?)但我收到错误
symfony exceptions must be valid objects derived from the exception base class
Run Code Online (Sandbox Code Playgroud)
我在这里做错了吗?谢谢.
我创建了一个error500.php文件,web/errors/现在想测试它.
我试着把这一行放在我的一个动作中:
$this->getResponse()->setStatusCode(500);
Run Code Online (Sandbox Code Playgroud)
不幸的是它似乎被忽略了.
你们知道这里发生了什么吗?
我正在使用Symfony 1.4.
编辑: Firebug告诉我错误实际上已被触发,但页面仍在加载之后.而且我在生产环境中.