Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Некоторые ошибки, обнаруженные во время выполнения программы, приводят к появлению на экране сообщения вида

Runtime error ппп at хххх:уууу

(Ошибка периода исполнения ппп по адресу хххх:уууу)

где ппп - номер ошибки; хххх:уууу - адрес (сегмент и смещение). После этого сообщения программа завершает свою работу.

Ошибки периода исполнения делятся на четыре категории: ошибки, обнаруживаемые ДОС (коды ошибок с 1 до 99), ошибки ввода-вывода (с 100 по 149), критические ошибки (с 150 по 199) и фатальные ошибки (коды ошибок с 200 до 255).

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

1 Invalid function number (Неверный номер функции).

Вы пытаетесь вызвать несуществующую функцию ДОС.

2 File not found (He найден файл).

Ошибка генерируется процедурами RESET, APPEND, RENAME или ERASE в случае, если имя, присвоенное файловой переменной, указывает несуществующий файл.

3 Path not found (Путь не найден).

Ошибка генерируется процедурами:

  • RESET, REWRITE, APPEND или ERASE в случае, если имя, присвоенное файловой переменной, является недействительным или указывает на несуществующий подкаталог;
  • CHDIR, MKDIR или RMDIR в случае, если путь является недействительным или указывает несуществующий подкаталог.

4 Too many open files (Слишком много открытых файлов).

Ошибка генерируется процедурами RESET, REWRITE или APPEND в случае, если программа имеет слишком много открытых файлов. ДОС не позволяет использовать более 15 открытых файлов для каждого процесса. Если ошибка возникла при наличии менее 15 открытых файлов, то она может указывать на то, что файл CONFIG.SYS не содержит параметра FILES=xxx или что этот параметр задает слишком мало файлов. Увеличьте параметр FILES=xxx до какого-либо подходящего значения, например, до 80.

5 File access defined (Отказано в доступе к файлу).

Данная ошибка генерируется процедурами:

  • RESET или APPEND в случае, когда имя, присвоенное файловой переменной, указывает каталог или файл, доступный только для чтения, в то время как параметр FILEMODE файловой переменной содержит указание на запись данных;
  • REWRITE в случае, когда каталог заполнен, или если имя, присвоенное файловой переменной, задает каталог или существующий файл, доступный только для чтения;
  • RENAME в случае, если имя, присвоенное файловой переменной, указывает каталог или если новое имя указывает существующий файл;
  • ERASE в случае, если имя, присвоенное файловой переменной, указывает каталог или файл, доступный только для чтения;
  • MKDIR в случае, если файл с тем же именем уже существует в порождающем каталоге, если нет места в порождающем каталоге или если путь к каталогу содержит имя логического устройства;
  • RMDIR в случае, если каталог не является пустым, если путь не определяет каталог или если путь задает корневой каталог;
  • READ или BLOCKREAD в случае типизированного или нетипизированного файла, если файл не открыт для чтения;
  • WRITE или BLOCKWRITE для типизированного или нетипизированного файла в случае, если этот файл не открыт для записи.

6 Invalid file handle (Недопустимый файловый канал).

Данная ошибка генерируется в случае, когда системному вызову ДОС передается недопустимый файловый канал. Эта ошибка не должна возникать в правильно работающей программе. Ее появление является свидетельством того, что файловая переменная каким-либо образом испорчена.

12 Invalid file access code (Недействительный код доступа к файлам).

Ошибка генерируется процедурами RESET или APPEND, если значение параметра FILEMODE в файловой переменной не является допустимым.

15 Invalid drive number (Недопустимый номер дисковода).

Ошибка генерируется процедурой GETDIR в случае, если номер дисковода не является допустимым.

16 Cannot remove current directory (Нельзя удалить текущий каталог).

Ошибка генерируется процедурой RMDIR в случае, если путь указывает текущий каталог.

17 Cannot rename across drives (Нельзя при переименовании указывать разные дисководы).

Генерируется процедурой RENAME в случае, если оба файла не находятся на одном и том же диске.

П3.2.2. Ошибки ввода-вывода

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

100 Disk read error (Ошибка чтения с диска).

Генерируется процедурой READ в типизированном файле в случае, если Вы пытаетесь осуществить считывание из полностью прочитанного файла.

101 Disk write error (Ошибка записи на диск).

Ошибка генерируется процедурами CLOSE, WRITE, WRITELN, FLUSH в случае, если диск заполнен.

102 File not assigned (Файлу не присвоено имя).

Ошибка генерируется процедурами RESET, REWRITE, APPEND, RENAME и ERASE в случае, если файловой переменной не было присвоено имя файла с помощью обращения к процедуре ASSIGN.

103 File not open (Файл не открыт).

Ошибка генерируется процедурами CLOSE, READ, WRITE, SEEK, EOF, FILEPOS, FILESIZE, FLUSH, BLOCKREAD, BLOCKWRITE в случае, если файл не открыт.

104 File not open for input (Файл не открыт для ввода).

Ошибка генерируется процедурами READ, READLN, EOF, EOLN, SEEKEOF или SEEKEOLN в текстовом файле в случае, если файл не открыт для ввода.

105 File not open for output (Файл не открыт для вывода).

Ошибка генерируется процедурами WRITE или WRITELN в текстовом файле в случае, если файл не открыт для вывода.

106 Invalid numeric format (Неверный числовой формат).

Генерируется процедурами READ или READLN в случае, если числовое значение, считанное из текстового файла, не соответствует правильному числовому формату.

П3.2.3. Критические ошибки

150 Disk is write protected (Диск защищен от записи).

151 Unknown unit (Неизвестный модуль).

152 Drive not ready (Дисковод находится в состоянии «не готов»).

153 Unknown command (Неопознанная команда).

154 CRC error in data (Ошибка в исходных данных).

155 Bad drive requiest 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 (Сбой аппаратуры).

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

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

200 Division by zero (Деление на ноль).

201 Range check error (Ошибка при проверке границ).

Ошибка генерируется операторами, скомпилированными в состоянии {$R+}, при возникновении одной из следующих ситуаций:

  • индексное выражение массива находилось вне допустимого диапазона;
  • была осуществлена попытка присвоить переменной значение, находящееся вне диапазона переменной;
  • была осуществлена попытка передать значение, находящееся вне допустимого диапазона, в качестве параметра процедуре или функции.

202 Stack overflow error (Переполнение стека).

Эта ошибка генерируется на входе в процедуру или функцию, скомпилированную в режиме {$S+}, в случае, если нет достаточной области для размещения локальных переменных подпрограммы. Увеличьте размер стека, используя директиву компилятора {$М}.

203 Heap overflow error (Переполнение кучи).

Эта ошибка генерируется процедурами NEW или GETMEM в случае, если в куче нет свободной памяти требуемого размера.

204 Invalid pointer operation (Недействительная операция с.указателем).

Эта ошибка генерируется процедурами DISPOSE или FREEMEM в случае, когда указатель имеет значение NIL или указывает на адрес, лежащий за пределами динамически распределяемой области памяти.

205 Floating point overflow (Переполнение при операции с плавающей запятой).

В результате выполнения операции с плавающей запятой получено слишком большое вещественное число.

206 Floating point underflow (Исчезновение порядка при операции с плавающей запятой).

Эта ошибка генерируется только в том случае, если используется сопроцессор 8087/80287/80387 с управляющим словом, которое демаскирует ошибку исчезновения порядка. По умолчанию исчезновение порядка приводит к возвращению результата, равного нулю.

207 Invalid floating point operation (Недопустимая операция с плавающей запятой).

Возможные причины сообщения:

  • аргумент функций TRUNC или ROUND не может быть преобразован в целое число, находящееся внутри диапазона типа LONGINT (от -2147483648 до +2147483647);
  • отрицательный аргумент функции SQRT (извлечение квадратного корня);
  • аргумент функции LN (логарифм) равен нулю или имеет отрицательное значение;
  • произошло переполнение стека сопроцессора.

208 Overlay manager not installed (He установлена подсистема управления оверлеем).

Ваша программа вызывает оверлейную процедуру или функцию, а подсистема управления оверлеем не инициирована. Вероятнее всего, в программе отсутствует обращение к процедуре OVRINIT или обращение к этой процедуре завершилось с ошибкой. Нужно иметь в виду, что если в каком-либо из оверлейных модулей содержится раздел инициации, то в программе необходимо создать дополнительный или использовать имеющийся неоверлейный модуль, вызывающий процедуру OVRINIT в своем разделе инициализации, и указать этот модуль в предложении USES перед любым из оверлейных модулей.

209 Overlay file read error (Ошибка чтения оверлейного файла).

Ошибка чтения произошла, когда подсистема управления оверлеем пыталась считать оверлейный модуль из оверлейного файла.

210 Object not initialized (He инициирован объект).

Вы обращаетесь к виртуальному правилу применительно к неинициированному объекту (до вызова конструктора).

211 Call to abstract method (Вызов абстрактного правила).

Эта ошибка генерируется правилом ABSTRACT модуля OBJECT при работе в среде Turbo Vision в случае обращения к абстрактному правилу, т.е. к виртуальному правилу, которое разработано специально для его замены в объектах-потомках.

212 Stream registration error (Ошибка в регистрируемом потоке).

Эта ошибка генерируется правилом REGISTERTYPE модуля OBJECT при работе в среде Turbo Vision в случае возникновения одной из следующих ошибок:

  • запись регистрируемого потока не содержит сегмента данных;
  • поле OBJTYPE записи регистрируемого потока нулевое;
  • указанный тип уже был зарегистрирован;
  • существует другой тип с таким же полем OBJTYPE.

213 Collection index out of range (Набираемый индекс выходит из границ диапазона).

Индекс, передаваемый объекту TCOLLECTION при работе в среде Turbo Vision, выходит за границы диапазона.

214 Collection overflow error (Переполнение коллекции).

Эта ошибка генерируется объектом TCOLLECTION при работе в среде Turbo Vision в случае, если делается попытка добавить элемент к коллекции, которую нельзя расширять.

 




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 463; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.034 сек.