Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція № 12 Перший проект.docx
Скачиваний:
15
Добавлен:
24.02.2016
Размер:
845.37 Кб
Скачать

Попередження й підказки. Запуск програми.

При виявленні в програмі неточностей, які не є помилками, компілятор виводить підказки (Hints) і попередження (warnings).

Наприклад, найбільш часто виведеною підказкою є повідомлення про оголошену, але не використовувану змінну.

Variable… is declared but never used in…

Дійсно, навіщо повідомляти змінну й не використовувати її?

У табл. 11 наведені попередження, найбільше часто виведені компілятором.

Таблиця 11. Попередження компілятора.

Попередження

Імовірна причина

Variable… is declared but never used in…

Змінна не використовується

Variable… might not have been initialized. (Ймовірно, використовується не ініціалізована змінна)

У програмі немає інструкції, яка привласнює змінній початкове значення

Запуск програми

Пробний запуск програми можна виконати безпосередньо з Delphi, не завершуючи роботу із середовищем розробки. Для цього потрібно з меню Run вибрати команду Run або клацнути на відповідній кнопці панелі інструментів Debug (рис. 31).

Рис. 31. Запуск програми із середовища розробки

Помилки часу виконання

Під час роботи додатка можуть виникати помилки, які називаються помилками часу виконання (run-time errors) або виключеннями (exceptions). У більшості випадків причинами виключень є невірні вихідні дані. Наприклад, якщо під час роботи програми обчислення швидкості перегони в поле Час увести 3.20, тобто для відділення дробової частини числа від цілої використовувати крапку, то в результаті натискання кнопки Обчислити на екрані з’явиться вікно з повідомленням про помилку (рис. 32).

Рис. 32. Приклад помилки часу виконання (програма запущена з Windows)

Причина виникнення помилки полягає в наступному. У тексті програми дробова частина числа від цілої відділяється крапкою. При введенні вихідних даних у поле редагування користувач може відокремити дробову частину числа від цілою крапкою або комою. Який із цих двох символів є припустимим, залежить від настроювання Windows.

Якщо в настроюванні Windows зазначене, що роздільник цілої й дробової частин числа – кома (для Росії це стандартна установка), а користувач під час роботи програми введе в поле редагування, наприклад, рядок 3.20, то при виконанні інструкції:

t = Strtofloat(Edit2.Text)

виникне виключення, тому що при стандартному, для Росії настроюванню Windows вміст поля Edit2 і, отже, аргумент функції strtofloat не є зображенням дробового числа.

Якщо програма запущена із середовища розробки, то при виникненні виключення виконання програми припиняється, і на екрані з’являється вікно з повідомленням про помилку і її тип. Як приклад на рис. 33 наведене вікно з повідомленням про те, що введена користувачем рядок не є дробовим числом.

Рис. 33. Приклад повідомлення про виникнення виключення (програма запущена з Delphi)

Після натискання кнопки ОК програміст може продовжити виконання програми (для цього треба з меню Run вибрати команду Step Over) або перервати виконання програми. В останньому випадку потрібно з меню Run вибрати команду Program Reset.

При розробці програми програміст повинен постаратися передбачити всі можливі варіанти некоректних дій користувача, які можуть привести до виникнення помилок часу виконання (виключення), і забезпечити способи захисту від них.

У лістингу В5 наведена версія програми Швидкість перегони, у якій реалізований захист від деяких некоректних дій користувача, зокрема, програма дозволяє вводити в поле Дистанція (Editl) тільки цифри.