Ошибки при использовании массивов
Ошибки при использовании массивов
При использовании массивов наиболее распространенной ошибкой является выход значения индексного выражения за допустимые границы, указанные при объявлении массива.
Если в качестве индекса используется константа, и ее значение выходит за допустимые границы, то такая ошибка обнаруживается на этапе компиляции программы. Например, если в программе объявлен массив
day : array[0..6] of string[ll],
то во время компиляции программы инструкция
day [7] := 'Воскресенье';
будет помечена как ошибочная.
Если для доступа к элементу массива в качестве индекса используется переменная или выражение, то возможно возникновение ошибки (исключения) времени выполнения программы. Например, если в программе объявлен массив
tab1: array [1..N] of integer;
то инструкция
for i:=0 to N do tab1[i] := 5;
формально является верной, и ее компиляция будет успешно выполнена.
Однако во время выполнения программы, при попытке присвоить значение несуществующему нулевому элементу массива tab, на экран будет выведено сообщение об ошибке. Вид окна и текст сообщения зависит от того, откуда запущена программа.
При запуске рассматриваемой программы из Delphi возникает исключение, и сообщение имеет вид, приведенный на Рисунок 5.22.