Поймать исключение Doctrine на контроллере - PullRequest
0 голосов
/ 28 мая 2018

Я использую Symfony 4 с Doctrine и обрабатываю сущность, которая будет сохранена.

Я хотел бы знать, как я могу иметь такую ​​обработку try \ catch, когда исключение возникает при сохранении,чтобы я мог соответственно отправлять разные ошибки.

На данный момент мой код выглядит следующим образом

$user->setUsername($username)
    ->setEmail($email)
    ->setPassword($password);

    $em->persist($user);
    $em->flush();

return $this->json(['msg'=>'some message', 201);

Я хотел бы иметь возможность решить, что отправлять в ответе, если естьошибки.

1 Ответ

0 голосов
/ 01 июня 2018

Вы можете отследить ошибки просто следующим образом, но вам придется проверить с условиями.

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();
}
...