Это часть бизнес-логики просто. А так логика будет размазываться между сервисом и констрейтами в БД. И в сервисе ещё код появится, который парсингом ошибок БД занимается.
У меня сейчас сделан exception фильтр для ошибок монго, и я сделал его глобальным и когда монго викидывает какую-то ошибку, она проходит через мой фильтр