0

Ошибка «Значение индекса выходит за границы диапазона»

Данная ошибка возникает в случае обращения к несуществующему элементу универсальной коллекции (массива, списка или таблицы значений) по ошибочному индексу.
Индекс всегда должен находиться в пределах диапазона: от 0 до количества элементов коллекции минус единица. Например, если в массиве 3 элемента, то самый младший из них будет иметь индекс = 0, а самый последний — индекс = 2.

Давайте рассмотрим на примерах, как правильно работать с коллекциями, чтобы такие ошибки не возникали.

Работаем с массивом программно без ошибок:

Индекс элемента массива должен находиться в пределах от 0 до значения, возвращаемого методом ВГраница():

м = Новый Массив;
м.Добавить(1);
//Инд содержит произвольный числовой индекс
Инд = 3;
Если Инд >= 0 И Инд <= м.ВГраница() Тогда
	//выполнение действия
	Сообщить(м[Инд]);
КонецЕсли;

Работаем со списком значений программно без ошибок:

Индекс элемента списка значений должен находиться в пределах от 0 до значения, возвращаемого методом Количество() минус 1:

сз = Новый СписокЗначений;
сз.Добавить(1);
Инд = 3;
Если Инд >= 0 И Инд <= сз.Количество() - 1 Тогда
	//выполнение действия
	Сообщить(сз[Инд]);
КонецЕсли;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *