Содержание

Коды ошибок в Turbo Pascal 7.0

Сообщения об ошибках периода компиляции

Среда Турбо Паскаля дает исчерпывающую информацию о характере и месте обнаруженной компилятором ошибки. При обнаружении ошибки среда автоматически загружает в окно редактора исходный файл и помещает курсор около того места, где в исходном тексте обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение. После нажатия на любую клавишу (кроме F1) верхняя строка восстанавливает свой первоначальный вид, и среда переходит к режиму редактирования. Если после появления сообщения об ошибке нажать F1, на экране появится окно справочной службы с детальной информацией об ошибке и рекомендациями по ее устранению. Некоторые ошибки в исходном тексте обнаруживаются не сразу, а в ходе продолжающегося контекстного разбора. Например, несоответствие типов в операторе присваивания не может быть обнаружено до тех пор, пока не будет вычислено целиком выражение в правой части этого оператора. В таких случаях ищите ошибку слева от курсора или в предыдущей строке текста. Ниже приводятся сообщения об ошибках в том виде, в каком они появляются в верхней строке редактора, а также перевод сообщений справочной службы.

№ ошибки Название
1 Out of memory (Выход за границы памяти).
2 Identifier expected (Не указан идентификатор).
3 Unknown identifier (Неизвестный идентификатор).
4 Duplicate identifier (Двойной идентификатор).
5 Syntax error (Синтаксическая ошибка).
6 Error in real constant (Ошибка в вещественной константе).
7 Error in integer constant (Ошибка в целой константе).
8 String constant exceeds line (Строковая константа превышает допустимые размеры).
9 Too many nested files (Слишком много вложенных файлов).
10 Unexpected end of file (He найден конец файла).
11 Line too long (Слишком длинная строка)
12 Type identifier expected (Здесь нужен идентификатор типа).
13 Too many open files (Слишком много открытых файлов).
14 Invalid file name (Неверное имя файла).
15 File not found (Файл не найден).
16 Disk full (Диск заполнен).
17 Invalid compiler directive (Неправильная директива компилятора).
18 Too many files (Слишком много файлов).
19 Undefined type in pointer definition (Неопределенный тип в объявлении указателя).
20 Variable identifier expected (Отсутствует идентификатор переменной).
21 Error in type (Ошибка в объявлении типа).
22 Structure too large (Слишком большая структура).
23 Set base type of range (Базовый тип множества нарушает границы).
24 File components may not be files (Компонентами файла не могут быть файлы) .
25 Invalid string length (Неверная длина строки).
26 Type mismatch (Несоответствие типов).
27 Invalid subrange base type (Неправильный базовый тип для типа-диапазона).
28 Lower bound greater than upper bound (Нижняя граница больше верхней).
29 Ordinal type expected (Нужен порядковый тип).
30 Integer constant expected (Нужна целая константа).
31 Constant expected (Нужна константа).
32 Integer or real constant expected (Нужна целая или вещественная константа) .
33 Type identifier expected (Нужен идентификатор типа)
34 Invalid function result type (Неправильный тип результата функции)
35 Label identifier expected (Нужен идентификатор метки).
36 BEGIN expected (Нужен BEGIN).
37 END expected (Нужен END).
38 Integer expression expected (Нужно выражение типа INTEGER).
39 Ordinal expression expected (Нужно выражение перечисляемого типа).
40 Boolean expression expected (Нужно выражение типа BOOLEAN).
41 Operand types do not match operator (Типы операндов не соответствуют операции).
42 Error in expression (Ошибка в выражении).
43 Illegal assignment (Неверное присваивание).
44 Field identifier expected (Нужен идентификатор поля) .
45 Object file too large (Объектный файл слишком большой).
46 Undefined external (Неопределенная внешняя процедура).
47 Invalid object file record (Неправильная запись объектного файла).
48 Code segment too large (Сегмент кода слишком большой).
49 Data segment too large (Сегмент данных слишком велик).
50 DO expected (Нужен оператор DO).
51 Invalid PUBLIC definition (Неверное PUBLIC-определение).
52 Invalid EXTRN definition (Неправильное EXTRN-определение).
53 Too many EXTRN definition (Слишком много EXTRN-определений).
54 OF expected (Требуется OF).
55 INTERFACE expected (Требуется интерфейсная секция).
56 Invalid relocatable reference (Неправильная перемещаемая ссылка).
57 THEN expected (Требуется THEN).
58 TO or DOWNTO expected (Требуется TO или DOWNTO).
59 Undefined forward (Неопределенное опережающее описание).
60 Too many procedures (Слишком много процедур).
61 Invalid typecast (Неверное преобразование типа).
62 Division by zero (Деление на ноль).
63 Invalid file type (Неверный файловый тип).
64 Cannot Read or Write variables of this type (Нет возможности считать или записать переменные данного типа).
65 Pointer variable expected (Нужно использовать переменную-указатель).
66 String variable expected (Нужна строковая переменная).
67 String expression expected (Нужно выражение строкового типа).
68 Circular unit reference (Перекрестная ссылка модулей).
69 Unit name mismatch (Несоответствие имен программных модулей).
70 Unit version mismatch (Несоответствие версий модулей).
71 Duplicate unit name (Повторное имя программного модуля).
72 Unit file format error (Ошибка формата файла модуля).
73 IMPLEMENTATION expected (Отсутствует исполняемая часть модуля).
74 Constant and case types do not match (Типы констант и тип выражения опе- ратора CASE не соответствуют друг другу).
75 Record variable expected (Нужна переменная типа запись).
76 Constant out of range (Константа нарушает границы).
77 File variable expected (Нужна файловая переменная).
78 Pointer expression expected (Нужно выражение типа указатель).
79 Integer or real expression expected (Нужно выражение вещественного или целого типа).
80 Label not within current block (Метка не находится внутри текущего блока)
81 Label already defined (Метка уже определена).
82 Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов).
83 Invalid @ argument (Неправильный аргумент операции @).
84 Unit expected (Нужно кодовое слово UNIT).
85 ”;” expected (Нужно указать”;”).
86 ”:” expected (Нужно указать”:”).
87 ”,”expected (Нужно указать”,”).
88 ”(” expected (Нужно указать ”(”).
89 ”)” expected (Нужно указать”)”).
90 ”=” expected (Нужно указать”=”)
91 ”:=” expected (Нужно указать”:=”)
92 ”[” or ”(.”expected (Нужно указать ”[” или ”(.”).
93 ”]” or ”.)” expected (Нужно указать”]” или ”.)”).
94 ”.” expected (Нужно указать”.”)
95 ”..” expected (Нужно указать”..”).
96 Too many variables (Слишком много переменных).
97 Invalid FOR control variable (Неправильный параметр цикла оператора FOR).
98 Integer variable expected (Нужна переменная целого типа).
99 File and procedure types are not allowed here (Здесь не могут использоваться файлы или процедурные типы).
100 String length mismatch (Несоответствие длины строки).
101 Invalid ordering of fields (Неверный порядок полей).
102 String constant expected (Нужна константа строкового типа).
103 Integer or real variable expected (Нужна переменная типа INTEGER или REAL).
104 Ordinal variable expected (Нужна переменная порядкового типа).
105 INLINE error (Ошибка в операторе INLINE)
106 Character expression expected (Предшествующее выражение должно иметь символьный тип).
107 Too many relocation items (Слишком много перемещаемых элементов).
108 Overflow in arithmetic operator (Переполнение при выполнении арифметического оператора).
109 No enclosing FOR, WHILE or REPEAT statement (Нет операторов, заканчивающих операторы FOR, WHILE или REPEAT).
110 Debug information table overflow (Переполнение информационной таблицы отладки)
111 N/A
112 CASE constant out of range (Константа CASE нарушает допустимые границы) .
113 Error in statement (Ошибка в операторе).
114 114 Cannot call an interrupt procedure (Невозможно вызвать процедуру npерывания).
115 N/A
116 Must be in 8087 mode to compile this (Для компиляции необходим режим 8087).
117 Target address not found (Указанный адрес не найден).
118 118 Include files are not allowed here (Здесь не допускаются включаемые файлы).
119 No inherited methods are accessible here (В этом месте программы нет унаследованных методов).
120 N/A
121 Invalid qualifier (Неверный квалификатор).
122 Invalid variable reference (Недействительная ссылка на переменную).
123 Too many symbols (Слишком много символов).
124 Statement part too large (Слишком большой раздел операторов).
125 N/A
126 Files must be var parameters (Файлы должны передаваться как параметры-переменные).
127 Too many conditional symbols (Слишком много условных символов).
128 Misplaced conditional directive (Пропущена условная директива).
129 ENDIF directive missing (Пропущена директива ENDIF).
130 Error in initial conditional defines (Ошибка в условных определениях).
131 Header does not match previous definition (Заголовок не соответствует предыдущему определению).
132 Critical disk error (Критическая ошибка диска).
133 Cannot evaluate this expression (Нельзя вычислить данное выражение).
134 Expression incorrectly germinated (Некорректное завершение выражения).
135 Invalid format specifier (Неверный спецификатор формата).
136 Invalid indirect reference (Недопустимая косвенная ссылка).
137 Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа).
138 Cannot evaluate without System unit (Нельзя вычислить выражение без мо-дуля SYSTEM).
139 Cannot access this symbol (Нет доступа к данному символу).
140 Invalid floating-point operation (Недопустимая операция с плавающей запятой).
141 Cannot compile overlay to memory (Нельзя выполнить компиляцию оверлейных модулей в память).
142 Procedure or function variable expected (Должна использоваться перемен- ная процедурного типа).
143 Invalid procedure or function reference (Недопустимая ссылка на процедуру или функцию) .
144 Cannot overlay this unit (Этот модуль не может использоваться в качестве оверлейного).
145 Too many nested scopes (Слишком много вложений).
146 File access denied (Отказано в доступе к файлу).
147 Object type expected (Здесь должен быть тип OBJECT) .
148 object types are not allowed (Нельзя объявлять локальные объекты).
149 VIRTUAL expected (Пропущено слово VIRTUAL).
150 Method identifier expected (Пропущен идентификатор инкапсулированного правила).
151 Virtual constructor are not allowed (Конструктор не может быть виртуальным).
153 Destructor identifier expected (Пропущен идентификатор деструктора).
154 Fail only allowed within constructor (Обращение к стандартной процедуре FAIL может содержаться только в конструкторе).
155 Invalid combination of opcode and operands (Недопустимая комбинация кода команды и операндов).
156 Memory reference expected (Отсутствует адрес).
157 Cannot add or subtract relocatable symbols (Нельзя складывать или вычитать перемещаемые символы).
158 Invalid register combination (Недопустимая комбинация регистров).
159 286/287 instructions are not enabled (Недоступен набор команд микропроцессоров 286/287).
160 Invalid symbol reference (Недопустимая ссылка на символ).
161 Code generation error (Ошибка генерации кода).
162 ASM expected (Отсутствует зарезервированное слово ASM).

Ошибки, возникающие во время выполнения программ

Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщения вида Runtime error nnn at xxxx:yyyy (Ошибка периода исполнения nnn по адресу хххх:уууу) где nnn — номер ошибки; xxxx:уyyу — адрес (сегмент и смещение). После этого сообщения программа завершает свою работу. Ошибки периода исполнения делятся на четыре категории: ошибки, обнаруживаемые ДОС (коды ошибок с 1 до 99), ошибки ввода-вывода (с 100 по 149), критические ошибки (с 150 по 199) и фатальные ошибки (коды ошибок с 200 до 255).

Ошибки, обнаруживаемые ДОС

№ ошибки (nnn) Название
1 Invalid function number (Неверный номер функции).
2 File not found (He найден файл).
3 Path not found (Путь не найден).
4 Too many open files (Слишком много открытых файлов).
5 File access defined (Отказано в доступе к файлу) .
6 Invalid file handle (Недопустимый файловый канал).
12 Invalid file access code (Недействительный код доступа к файлам).
15 Invalid drive number (Недопустимый номер дисковода).
16 Cannot remove current directory (Нельзя удалить текущий каталог)
17 Cannot rename across drives (Нельзя при переименовании указывать разные дисководы).

Ошибки ввода-вывода

Если один из операторов компилировался с директивой {$I+}, то ошибка ввода—вывода приводит к прекращению выполнения программы. В состоянии {$I—} программа продолжает выполняться, а ошибка возвращается функцией IORESULT.

№ ошибки (nnn) Название
100 Disk read error (Ошибка чтения с диска).
101 Disk write error (Ошибка записи на диск).
102 File not assigned (Файлу не присвоено имя).
103 File not open (Файл не открыт).
104 File not open for input (Файл не открыт для ввода).
105 File not open for output (Файл не открыт для вывода}.
106 Invalid numeric format (Неверный числовой формат)

Критические ошибки

№ ошибки (nnn) Название
150 Disk is write protected (Диск защищен от записи).
151 Unknown unit (Неизвестный модуль).
152 Drive not ready (Дисковод находится в состоянии «не готов»).
153 Unknown command (Неопознанная команда).
154 CRC error in data (Ошибка в исходных данных).
155 Bad drive request structure length (При обращении к диску указана неверная длина структуры).
156 Disk seek error (Ошибка при операции установки головок на диске).
157 Unknown media type (Неизвестный тип носителя).
158 Sector not found (Сектор не найден).
159 Printer out of paper (Кончилась бумага на принтере).
160 Device write fault (Ошибка при записи на устройство).
161 Device read fault (Ошибка при чтении с устройства).
162 Hardware failure (Сбой аппаратуры).

Фатальные ошибки

Эти ошибки всегда приводят к немедленной остановке программы.

№ ошибки (nnn) Название
200 Division by zero (Деление на ноль).
201 Range check error (Ошибка при проверке границ).
202 Stack overflow error (Переполнение стека).
203 Heap overflow error (Переполнение кучи).
204 Invalid pointer operation (Недействительная операция с указателем).
205 Floating point overflow (Переполнение при операции с плавающей запя- той).
206 Floating point underflow (Исчезновение порядка при операции с плавающей запятой).
207 Invalid floating point operation (Недопустимая операция с плавающей запятой) .
208 Overlay manager not installed (He установлена подсистема управления оверлеем).
209 Overlay file read error (Ошибка чтения оверлейного файла).
210 Object not initialized (He инициирован объект).
211 Call to abstract method (Вызов абстрактного правила).
212 Stream registration error (Ошибка в регистрируемом потоке).
213 Collection index out of range (Набираемый индекс выходит из границ диа-пазона).
214 Collection overflow error (Переполнение коллекции).