繁体   English   中英

如何在 Symfony2 中捕获 ParamConverter 异常?

[英]How to catch ParamConverter exceptions in Symfony2?

这是我得到的例外:

尽管预计至少有一行,但未找到查询结果。

当在数据库中找不到用户 ID 时,我基本上会遇到该异常。 这是我的路线:

localhost/../user/18

和我的控制器中的代码:

public function showAction(User $user){
    // .. 
}

我知道我可以使用内核事件异常来处理这个问题,但是有没有更简单的方法来捕获由 ParamConverter 生成的异常?

在某些情况下,如果找不到对象,手动抛出异常很有用。 如果未找到实体,您可以通过向参数添加默认值来告诉操作跳过抛出异常。

例子:

public function showUser(User $user = null) {
    if (empty($user)) {
        throw new CustomExceptionYouWant();
    }
    ...
}        

您可以通过实现 ParamConverterInterface 并在其中创建您的用户 ParamConverter,创建可以用作自定义异常或进行其他处理的方法。

这是您想要创建自定义 ParamConverter 的一个很好的例子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM