Наиболее подходящее исключение для коллекции, которая не инициализируется? - PullRequest
1 голос
/ 25 марта 2010

Какой тип исключения .Net является наиболее подходящим для случая, когда у вас есть класс, чье свойство коллекции должно быть инициализировано хотя бы с одним элементом?

Я думаю, что это будет ArgumentOutOfRangeException, но есть ли что-то более подходящее, основанное на коллекции?

Ответы [ 2 ]

3 голосов
/ 25 марта 2010

Вы всегда можете создать собственное исключение MyCollectionNotInitialized. Я думаю, что это лучше, чем использовать любое неподходящее исключение.

1 голос
/ 25 марта 2010

В качестве примера вы можете взглянуть на метод System.Linq.Queryable.Single, который является методом расширения интерфейса IQueryable и выдает InvalidOperationException в случае, если в коллекции более одного элемента. ИМХО, InvalidOperationException - худший выбор, чем ArgumentOutOfRangeException, но я предполагаю, что поскольку Microsoft использовала InvalidOperationException, похоже, в .NET нет соответствующего класса исключений.

...