Lui*_*isF 2 orm doctrine symfony4
我正在使用带有 Doctrine 的 Symfony 4 并正在处理一个将被持久化的实体。
我想知道当持久化过程中发生异常时如何进行 try\catch 处理,以便我可以相应地发送不同的错误。
截至目前我的代码看起来像这样
$user->setUsername($username)
->setEmail($email)
->setPassword($password);
$em->persist($user);
$em->flush();
return $this->json(['msg'=>'some message', 201);
Run Code Online (Sandbox Code Playgroud)
我希望能够决定在响应中发送什么内容,以防出现错误。
小智 5
您可以简单地捕获错误,如下所示,但您必须检查条件。
try {
$user->setUsername($username)
->setEmail($email)
->setPassword($password);
$em->persist($user);
$em->flush();
}
catch(DBALException $e){
$errorMessage = $e->getMessage();
}
catch(\Exception $e){
$errorMessage = $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)