Первые шаги в программировании: основы, Си, Objective-c
1.21
Системные ошибки в процессе отладки программы
Вступая на путь программирования вы должны быть к тому, что в ваших
программах могут появляться ошибки. И чем больше и сложнее программа,
тем больше ошибок может быть. Даже в наших первых "пробах пера" возможны ошибки... Процесс
поиска ошибок в программе и тестирование ее на отказоустойчивость очень
длительный и трудоемкий процесс, который может занимать по времени
намного больше, чем было потрачено на создание самой программы.
Бытует такая шутка: "Каждая найденная ошибка является предпоследней"...
Ошибки в программе называются "глюками" или "багами" - уж так повелось...
Слово взято с английского "bug" – жук
Сам процесс поиска ошибок называется "отладкой" или "дебаггинг" (англ. - debugging) В ваших программах вы можете встретиться с тремя типами ошибок (а может уже и встречались); - синтаксические ошибки (syntax errors), - ошибки выполнения (runtime errors) и - семантические ошибки (semantic errors)
Синтаксические ошибки (syntax errors)
Относительно простые и быстро находимые ошибки. Для быстрого поиска и исправления
этих типов ошибок необходимо их различать и понимать что является причиной их появления.
Стоит
заметить, что практически любая среда разработки позволяет на лету
скорректировать или указать программисту на неточность или ошибочность в
его коде. И только в том случае, если его программа СИНТАКСИЧЕСКИ верна, интерпретатор выполнит ее и скомпилирует для выполнения. При
нахождении синтаксической ошибки в процессе компиляции, выводится
соответствующее сообщение об ошибке и пока она не будет устранена,
скомпилировать программу не удастся.
По мере роста практики такие ошибки будут встречаться все реже и реже - главное практика!
Ошибки выполнения (runtime errors)
Это ошибки "исключения" (по-английски exceptions) - как правило возникают при выполнении программы. Возникают
такие ошибки в программе, которая скомпилировалась вполне правильно,
однако из-за неверно переданных данных или неправильной математической
операции (например деление на ноль) происходит сбой. Как правило такие ошибки возникают в довольно серьезных программах.
Семантические ошибки (semantic errors)
Семантические ошибки довольно трудно находимы. Зачастую логика программы нарушается при внешней работоспособности. Т.е. программа может работать вполне нормально, но с нарушенной логикой. Именно
по этому такие ошибки найти довольно таки тяжело - приходится
просматривать практически весь текст программы с анализом того, что
программа делает на самом деле.