Gérer une erreur de bdd depuis le controller avec message personnalisé ?
Bonjour à tous,
J'aimerai connaître la meilleur méthode pour retourner un message personnalisé lors d'une erreur par exemple lorsqu'on a une SQLSTATE[23000] (Integrity constraint violation: 1451) permettant de signaler à l'utilisateur qu'il doit d'abord supprimer les entités enfants .
Il me semble que faire un try/catch ne serait pas une bonne méthode car Symfony gère déjà les erreurs de son coté, faut il utiliser un subscriber obligatoirement ou bien une autre méthode spécifique ?
J'ai tenté le try/catch classique depuis le controller mais ça n'intercepte rien !
Merci d'avance pour vos réponses.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
//Supprimer une catégorie d'article / prestation
#[Route('/supprimer/{id}', 'supprimer')]
public function supprimer(EntityManagerInterface $em, $id, CategoriesArticlesRepository $categoriesArticlesRepository): Response
{
$categorie = $categoriesArticlesRepository->find($id);
try {
$em->remove($categorie);
} catch (\Exception $e) {
error_log($e->getMessage());
}
$em->flush();
return $this->redirectToRoute('categories-articles_liste');
} |