Вы должны смотреть на это с точки зрения вызывающего слоя.Слой попросил слой данных выполнить задание.Если OptimisticConcurrencyException
может быть обработан вашим слоем данных и контракт соблюден, то обязательно поймайте его, а затем продолжите и завершите работу.
Если, однако, это фатально для вашей работыВас просят это сделать, и если вызывающая сторона не ожидает этого или не знает об этом, то вполне нормально создать собственный класс исключений, перехватить исключение, которое чуждо вызывающему слою, и вместо этого выдать его,Это то, о чем может знать вызывающий слой , и это может быть хорошо задокументировано как побочный эффект использования этой функции / API.