Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Причины и типы ошибок






В общем случае ошибки могут возникать на любом этапе разработки программы, причина ошибок может быть связана с недопониманием сути задачи, недостатками проектирования алгоритма, неправильным использованием языковых средств. При выполнении программы ошибки разного типа проявляют себя различным образом, и их принято подразделять на следующие группы:

· синтаксические ошибки;

· семантические ошибки;

· логические ошибки.

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

С емантические ошибки– это ошибки, проявляющиеся на этапе выполнения программы при ее попытке вычислить недопустимые значения параметров или выполнить недопустимые действия. Причина возникновения ошибок данного типа связана с нарушением семантических правил написания программ (примером являются ситуации попытки открыть несуществующий файл или выполнить деление на нуль). Если программа обнаруживает ошибку такого типа, то она завершает свое выполнение и выводит соответствующее сообщение в окне Build, содержащее номер строки с ошибкой и ее возможный характер. Список сообщений можно просмотреть с помощью команды меню View/Debug Windows/EventLog. При выполнении программы из среды Delphi автоматически выбирается соответствующий исходный файл и в нем находится местоположение ошибки. Если же программа выполнялась вне среды и в ней появилась ошибка данного типа, то необходимо запустить среду и найти вызвавший ошибку оператор.

Логические (смысловые) ошибки– самые сложные и трудноуловимые, связанные с неправильным применением тех или иных алгоритмических конструкций. Эти ошибки при выполнении программы могут проявиться явно (выдано сообщение об ошибке, нет результата или выдан неверный результат, программа " зацикливается"), но чаще они проявляют себя только при определенных сочетаниях параметров или вообще не вызывают нарушения работы программы, которая в этом случае выдает правдоподобные, но неверные результаты.

Ошибки первого типа легко выявляются самим компилятором. Обычно устранение синтаксических ошибок не вызывает особых трудностей. Более сложно выявить ошибки второго и особенно третьего типа. Для обнаружения и устранения ошибок второго и третьего типа обычно применяют специальные способы и средства отладки программ. Выявлению ошибок второго типа часто помогает использование контролирующих режимов компиляции с проверкой допустимых значений тех или иных параметров (границ индексов элементов массивов, значений переменных типа диапазона, ситуаций переполнения, ошибок ввода-вывода). Устанавливаются эти режимы с помощью ключей компилятора, задаваемых либо в программе, либо в меню Project/Options/Compiler среды Delphi, либо в меню Options/Compiler Турбо-среды.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.