php - 如何在 Symfony2 中捕获 ParamConverter 异常?

标签 php exception symfony doctrine-orm routes

这是我遇到的异常:

No result was found for query although at least one row was expected.

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

localhost/../user/18

以及我 Controller 中的代码:

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

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

最佳答案

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

例子:

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

关于php - 如何在 Symfony2 中捕获 ParamConverter 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282884/

相关文章:

java - 找不到 NotSerializedException 的来源

symfony - Sonata Admin Bundle 向自定义管理员角色授予权限

php - 无法查看 Apache "It Works!"以外的 XAMPP 本地主机页面

c++ - 具有强异常保证的同步 STL 容器插入

java - Java 中的异常(可恢复与致命)

php - 如何为 Symfony2 中的所有 Controller 添加一些路由前缀?

使用相同属性路径的 Symfony2 嵌入式表单 - 错误冒泡问题

PHP MySQL 数据库备份 cron 作业

php - 在此模拟对象上找不到模拟方法 shouldRecieve()

php - 将 foreach 应用于多个数组?