Symfony2 - 在 $em->remove() 上捕获异常



我在执行时试图捕获异常:

try {
    $em->remove($education);
    $em->flush();
} catch(PDOException $e) {
    var_dump($e->getMessage());
    die;
}

我也尝试了ExceptionDoctrineORMORMException,但它们都没有起作用。

而不是倾倒异常消息,我会收到相同的错误,我试图避免捕获异常:

[3/3] foreferkekeyconstraintviolationException:发生了例外 执行"从trainee_education delete"中执行id =?"和 参数[2]:

sqlstate [23000]:违反完整性约束:1451无法删除或 更新父行:外键约束失败 (trainingexperienceinternship,约束FK_10D1B00C2CA1BD71 外键(education_id)参考trainee_educationid))

我知道为什么我的约束失败,没有什么新鲜。但是我想得到一个例外,以便我可以通知用户他无法删除一个对象是他在建立关系之前用过的。

我的情况相同,但是我与 doctrine dbal dbalexception

一起工作
try{
      $em->persist($question);
      $em->flush();
} catch (DoctrineDBALDBALException $e) {
      $exception_message = $e->getPrevious()->getCode();
    return $this->render('AppBundle:Errors:error.html.twig', array('error' => $exception_message)); 
} 

我不知道最好的解决方案,但起作用。

相关内容

  • 没有找到相关文章

最新更新