Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Опрацювання виняткових ситуацій в середовищі візуального програмування




Виняткові ситуації можуть виникати в процесі виконання програми тоді, коли неможливо виконати заплановані програмою операції або в комп'ютері виникла непередбачена ситуація.

Мова Object Pascal має спеціальні засоби для ефективного та зручного програмування виняткових ситуацій. Такі засоби називають захищенім блоком коду. Вони бувають двох різновидів.

Перший різновид захищеного блоку коду забезпечує продовжений виконання програми у випадку виникнення неполадок. Такий блок ще називають блоком try-finally.

Захищений блок розташований між словами try та end. Усі оператори після слова try виконуються у звичному порядку до слова finally. Якщо протягом їх виконання не виникло ніяких виняткових ситуацій, то далі виконуються оператори після finally до кінця захищеного блоку end Тобто якщо нема виняткових ситуацій, то слів try-finally-end ніби немає. Якщо ж між try таfinally виникла будь-яка виняткова ситуація, наприклад, нема заданого файлу чи стався збій під час читання записів цього файлу тощо, то керування негайно передається на оператори післяfinally. Отже, частина блоку після finally буде завжди виконуватися незалежно від наявності виняткових ситуацій, тому тут зазвичай записують оператори вивільнення ресурсів, відновлення стану пам'яті тощо. Зауважимо, що конкретний тип виняткової ситуації не має значення, важливий лише сам факт її виникнення.

Другий різновид захищеного блоку коду забезпечує виконання спеціальних операторів програми лише у випадку виникнення виняткової ситуації. Якщо виняткової ситуації не виникло, то додаткові оператори програми не виконуватимуться взагалі. Блок цього типу ще називають блоком try-except.

Захищений блок так само розташований між словами try та end. Усі оператори після слова try виконуються у звичному порядку до слова except. Якщо протягом їх виконання не виникло ніяких виняткових ситуацій, то далі виконуються оператори після кінця захищеного блоку. Тобто в цьому випадку виконується лише секція операторів try-except, а секція except-end взагалі не береться до уваги.

Якщо ж під час виконання операторів секції try-except виникла деяка виняткова ситуація, то керування негайно передається на секцію except для її аналізу. Секція except складається в загальному випадку з багатьох операторів on-do, кожен з яких аналізує певний тип виняткової ситуації та визначає реакцію програми на випадок її появи. В загальному випадку це дає змогу продовжити виконання програми та скоригувати потрібні дані.

Кожен оператор on-do пов'язує виняткову ситуацію, задану своїм іменем, з групою операторів (складеним оператором), які треба в цьому випадку виконати. У разі виникнення виняткової ситуації відбувається переглядання операторів on-do послідовно в порядку запису, і виконується перша група операторів опрацювання, що відповідає імені ситуації. Якщо ж виникла ситуація, не визначена жодним оператором on-do, то виконується опрацювання за замовчуванням. Це означає, зазвичай, вихід з процедури чи функції, де виникла виняткова ситуація, та стандартне повідомлення про помилку в окремому вікні, яке формує система.




Поделиться с друзьями:


Дата добавления: 2015-05-08; Просмотров: 625; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.