Хотя вы не показываете строку, которая выдает исключение, похоже, вы не используете правильное пространство имен: Doctrine DBALException
является пространством имен, а \DBALException
не существует в Symfony 4.
Вы, вероятно, хотите:
catch (\Doctrine\DBAL\DBALException $e) {
или просто:
catch (DBALException $e) {
, если у вас есть оператор use \Doctrine\DBAL\DBALException;
в верхней части вашего класса.
Изменить: Ошибка, которую вы показали, не исключение, а ошибка.Вы должны исправить это так, чтобы это не могло произойти, но если вы хотите поймать это, вы можете сделать это так же, как вы ловите исключения:
catch (\Error $e) {
или:
catch (\TypeError $e) {