【问题标题】:symfony2 kernel intercept my exceptionsymfony2 内核拦截我的异常
【发布时间】:2014-01-10 08:14:17
【问题描述】:

我在控制器的操作中有一个 try-catch 语句代码:

public function MyAction(){
    ...
    try{
    ...
    }
    catch(MyException $e){
    ...
   }
   ....
}

但是异常被symfony拦截了,给我看看检测到异常的twig模板。这意味着我的 catch 语句永远不会被执行,对吧?

为什么? (在try里面我只是在调用另一个对象的方法)

怎么了?

我怎样才能让 symfony 执行我自己的异常?

(我觉得这很奇怪,因为它类似于 try-catch em->persist/flush)

【问题讨论】:

  • 这适用于您的问题吗? stackoverflow.com/questions/12229120/…
  • 您确定您的 catch 语句从正确的命名空间中捕获了正确的类名吗?当您在单独的 catch 中也捕获 \Exception 时会发生什么?
  • try to catch also catch(\Exception $e) - $e 的实例是什么?
  • 捕获 \Exception $e 被正确捕获。好的,谢谢大家。 php 没有找到 MyExceptionClass,因为我既没有使用完整路径也没有使用 use 语句。谢谢。

标签: symfony exception-handling


【解决方案1】:

我刚刚忘记了 use 语句或完整的命名空间路径,所以 php 找不到 MyExceptionClass。

解析为

catch(path\to\MyException $e){...}

use path\to\MyException;
....
...
catch(MyException $e){

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多