Класифікація помилок

Помилки, які можуть бути в програмі, прийнято ділити на три групи:

  • синтаксичні;
  • помилки часу виконання;
  • алгоритмічні.

Синтаксичні помилки, їх також називають помилками часу компіляції (Compile-time error), найбільш легко переборні. Їх виявляє компілятор, а програмісту залишається тільки внести зміни в текст програми і виконати повторну компіляцію.
Помилки часу виконання, в Delphi вони називаються винятками (exception), теж, як правило, легко переборні. Вони зазвичай проявляються вже при перших запусках програми і під час тестування.
При виникненні помилки в програмі, запущеної з Delphi, середовище розробки перериває роботу програми, про що свідчить укладену в дужки слово Stopped в заголовку головного вікна Delphi, і на екрані з’являється діалогове вікно, яке містить повідомлення про помилку і інформацію про тип (класі) помилки. На рис. 13.1 наведено приклад повідомлення про помилку, що виникає при спробі відкрити неіснуючий файл.
Після виникнення помилки програміст може або перервати виконання програми, для цього треба з меню Run вибрати команду Program Reset, або продовжити її виконання, наприклад, по кроках (для цього з ме ню Run треба вибрати команду Step), спостерігаючи результат виконання кожної інструкції.

Рис. 13.1. Повідомлення про помилку під час запуску програми з Delphi

Якщо програма запущена з Windows, то при виникненні помилки на екрані також з’являється повідомлення про помилку, але тип помилки (виключення) в повідомленні не вказується (рис. 13.2). Після клацання на кнопці ОК програма, в якій виявилася помилка, продовжує (Якщо зможе) роботу.

Рис. 13.2. Повідомлення про помилку під час запуску програми з Windows

З алгоритмічними помилками інша справа. Компіляція програми, в якій є алгоритмічна помилка, завершується успішно. При пробних запусках програма веде себе нормально, однак при аналізі результату з’ясовується, що він невірний. Для того щоб усунути алгоритмічну помилку, доводиться аналізувати алгоритм, вручну “прокручувати” його виконання.