在 Controller 上捕获 Doctrine 异常
Catch Doctrine exception on Controller
我将 Symfony 4 与 Doctrine 一起使用,并且正在处理一个将被持久化的实体。
我想知道如何在持久化过程中出现异常时进行某种try\catch处理,以便我可以相应地发送不同的错误。
截至目前,我的代码如下所示
$user->setUsername($username)
->setEmail($email)
->setPassword($password);
$em->persist($user);
$em->flush();
return $this->json(['msg'=>'some message', 201);
我希望能够决定在响应中发送什么以防出现错误。
您可以通过以下方式简单地捕获错误,但您必须检查条件。
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();
}
我将 Symfony 4 与 Doctrine 一起使用,并且正在处理一个将被持久化的实体。
我想知道如何在持久化过程中出现异常时进行某种try\catch处理,以便我可以相应地发送不同的错误。
截至目前,我的代码如下所示
$user->setUsername($username)
->setEmail($email)
->setPassword($password);
$em->persist($user);
$em->flush();
return $this->json(['msg'=>'some message', 201);
我希望能够决定在响应中发送什么以防出现错误。
您可以通过以下方式简单地捕获错误,但您必须检查条件。
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();
}