Но тогда мне кажется было бы логично сделать отдельное исключение под это, а не совмещать с выходом за предел диапазона,с учетом что смещение осуществляется самой функцией
Мне кажется у вас в функции NearestEvent ошибка или как минимум момент требующий внимания: вы итерируетесь в бесконечном цикле и изменяете дату. Функция завершается возвратом даты события или исключением по значению года, но если выбрана дата t1 такая что событий уже не будет до конца заданного временного промежутка у вас программа завершиться по исключению, хотя данные все корректны. Аналогично по функции NearestPrevEvent.
Но тогда мне кажется было бы логично сделать отдельное исключение под это, а не совмещать с выходом за предел диапазона,с учетом что смещение осуществляется самой функцией
Мне кажется у вас в функции NearestEvent ошибка или как минимум момент требующий внимания: вы итерируетесь в бесконечном цикле и изменяете дату. Функция завершается возвратом даты события или исключением по значению года, но если выбрана дата t1 такая что событий уже не будет до конца заданного временного промежутка у вас программа завершиться по исключению, хотя данные все корректны. Аналогично по функции NearestPrevEvent.
rodinvv, здесь случайно не забыли учесть количество товара в элементе заказа?