Cтраница 1
![]() |
Типы ошибочных ситуаций. [1] |
Ошибочные ситуации, возникающие при загрузке и корректировке, фиксируются в протоколе загрузки. При ошибке с кодом ОШ07 операция не прернвается, но выполняется лишь над теми полями, по которым она оформлена верно. Работа программы в этом случае продолжается со следующей записи. [2]
Ошибочные ситуации могут возникнуть не только в результате ошибок во входных данных, они могут быть вызваны ошибками в программе или нарушениями в базе данных. Поэтому программист должен принять меры для быстрого обнаружения этих ошибок и анализа причин их возникновения. Например, нужно иметь возможность легко определить, при выполнении какого оператора ЯМД в программе произошла ошибка, какие входные данные обрабатывались; полезно распечатать текущую запись базы данных; содержимое буферов базы данных и регистров связи. Если ситуация такова, что дальнейшее выполнение программы невозможно, нужно обязательно закрыть все файлы базы данных - иначе в буферах останутся измененные страницы, еще не выведенные в базу, что приведет к нарушениям в базе данных. [3]
Ошибочных ситуаций при этом не возникает, поэтому программист должен быть более внимательным при назначении полей. Если длина первого операнда превышает половину длины второго операнда, то преобразованное число будет дополнено слева нулями. [4]
Все ошибочные ситуации, возникающие при работе программ, должны диагностироваться, сопровождаться сообщениями, и не должны вызывать нарушений в работе Системы. [5]
![]() |
Обработка недопустимого СВС в ключах памяти. [6] |
Завершение Ошибочная ситуация не вызывает прекращения выполнения команды. Если нет других условий, не связанных с данной ошибкой, которые могут запретить выполнение, то данное условие не принимается во внимание и выполнение команды завершается. Не возникает никаких условий нарушения из-за машинной ошибки, однако могут возникнуть условия сообщения о восстановлении. [7]
Возникновение ошибочной ситуации приводит к прекращению выполнения программы. Но в развитых бейсик-системах пользователю предоставляют возможность перехватить прерывание, вызванное программной ошибкой, и разобраться с ним по своему усмотрению. [8]
Программа анализа ошибочных ситуаций информирует пользователя об ошибках, возникающих в процессе выполнения прикладной программы. В случае фатальной ошибки, как правило, на дисплей выводится сообщение ЕГГОГ и происходит прерывание выполнения прикладной программы. В некоторых случаях выполнение оператора, приводящего к переполнению, блокируется или он выполняется без сообщения об ошибке и прерывании. Фатальная ошибка диагностируется при переполнении регистра X, попытке вычислить функции вне пределов ее определения ( - и 1 / х при х 0, - [ / при xi 0, 10х при х 100, ех при х 100 In 10, In, Ig и ХУ при л: 0, sin, cos и tg при х 1010, sin 1, cos 1 при х 1), а также при попытке выполнить операторы, коды которых зарезервированы для ПМК расширяющегося ряда ( например, К - / или К 1 / х), за исключением операторов К ПВ и К ОД ( коды которых могут быть набраны нажатием клавиш К 1 и К 2), при использовании которых в ПМК, не имеющем памяти программ-данных, пропускается один шаг программы, как и при выполнении оператора К НОП. В этих случаях микроЭВМ К745ИК1303 не посылает в канал связи ( КС) сообщение о выполнении оператора, а программа анализа ошибочных ситуаций проверяет содержимое внутреннего таймера и при его переполнении очищает канал связи ( КС: : FF), заполняя РИ строкой символов FFFFEDDODFFF, выводимой на индикатор, и прекращая выполнение программы. [9]
Часто при обработке ошибочной ситуации в процедуре ( программе), вызываемой командой ON ERROR DO имя программы, использутся команда RETRY, которая осуществляет повторное выполнение последовательности команд, вызвавших ошибку. Обычно в этой процедуре предусматриваются средства локализации и исправления ошибки. [10]
Программа может распознавать три ошибочные ситуации: отсутствие запятой в конце выражения, отсутствие правой скобки после выражения, которое должно быть заключено в скобки, и появление на входе при чтении множителя запрещенного символа. Кроме того, процедура читатьслагаемое, выполняющая умножения и деления, должна выдавать ошибку, если делитель оказался равным нулю. [11]
Например, необходимо предусмотреть многочисленные ошибочные ситуации и их обработку. Что вы будете делать, если физический файл не найден. [12]
Расширитель арифметики обеспечивает фиксацию ошибочных ситуаций при переполнении, потере значимости, делении на нуль и пр. [13]
В отдельных случаях для анализа ошибочной ситуации причины включения указателя останова бывает достаточно. [14]
На рис. 3 и 4 ошибочным ситуациям соответствуют пустые клетки. [15]