У меня есть класс, который обертывает List < >
У меня есть метод GetValue по методу индексов:
public RenderedImageInfo GetValue(int index)
{
list[index].LastRetrieved = DateTime.Now;
return list[index];
}
Если пользователь запрашивает индекс, выходящий за пределы диапазона, это вызовет исключение ArgumentOutOfRangeException.
Должен ли я просто позволить этому случиться или проверить его и бросить сам? то есть.
public RenderedImageInfo GetValue(int index)
{
if (index >= list.Count)
{
throw new ArgumentOutOfRangeException("index");
}
list[index].LastRetrieved = DateTime.Now;
return list[index];
}
В первом сценарии у пользователя будет исключение из внутреннего списка, что нарушит мою цель ООП для пользователя, не нуждающегося в знаниях о базовых объектах.
Но во втором сценарии я чувствую, что добавляю избыточный код.
Edit:
И теперь, когда я думаю об этом, как насчет третьего сценария, где я улавливаю внутреннее исключение, изменяю его и реконструирую?