Итак, у меня есть абстрактный тип данных с именем RegionModel с серией значений (Region), каждое из которых сопоставлено с индексом. Можно удалить несколько регионов, позвонив по номеру:
regionModel.removeRegions(index, numberOfRegionsToRemove);
Мой вопрос: как лучше всего обрабатывать вызов, когда индекс действителен:
(от 0 (включительно) до количества регионов в модели (исключая))
но числоOfRegionsToRemove недопустимо:
(index + regionToRemove> количество регионов в модели)
Лучше ли бросить исключение, такое как IllegalArgumentException, или просто удалить столько областей, сколько я могу (все области от индекса до конца модели)?
Подвопрос: Если я выброшу исключение, каков рекомендуемый способ модульного тестирования, чтобы вызов вызвал исключение и оставил модель нетронутой (здесь я использую Java и JUnit, но я думаю, это специфический вопрос Java).