загрузка...
загрузка...
На головну

Генерація виняткової ситуації

Дивіться також:
  1. I. Поняття мовної ситуації.
  2. II частина ситуації оцінювання
  3. II. Розвиток внутрішньополітичної ситуації
  4. III. Загострення внутрішньополітичної ситуації в 1920-1924 рр.
  5. А. Осмислення проблемної ситуації
  6. Адміністрування, реєстрація подій і генерація звітів.
  7. Безпека Надзвичайної Ситуації
  8. Біологічні надзвичайні ситуації
  9. Біолого-соціальні надзвичайні ситуації
  10. Біолого-соціальні надзвичайні ситуації (ускладнення після деяких захворювань, спадкова схильність до захворювань).
  11. Бюджетне обмеження стосовно механізму реалізації дорогих товарів тривалого користування в ситуації міжчасового вибору
  12. У процесі розвитку надзвичайної ситуації

ЗАВДАННЯ

1. Закон Республіки Казахстан від 07.05.1997 «Про цивільну оборону»

2. Аксіома про потенційну небезпеку

3. Словник

Класи ієрархії Exception володіють декількома видами корисних конструкторів, які можна застосовувати для штучної генерації відповідної виняткової ситуації.

Таблиця 1. Конструктори класів ієрархії Exception

 конструктор  параметри
 Create (const Msg: string)  Параметр - рядок, яка буде відображатися в діалоговому вікні, що інформує про виникнення виняткової ситуації
 CreateRes (ResStringRec: PresStringRec) Overload;  Параметр - рядок повідомлення, яка завантажується з ресурсів програми
 CreateFmt (const Msg: string const Args: array of const) CreateResFmt (ResStringRec: PresStringRec; const Args: array of const); overload;  Масив Args містить значення, на основі яких з використанням рядка форматування Msg (див. Функцію Format) або ResStringRec (завантажується з ресурсів програми) формується результуючий повідомлення
 CreateHelp (const Msg: string AHelpContext: Integer);  Ідентифікатор розділу довідки AHelpContext вказує, де користувач зможе докладніше дізнатися про виниклу помилку. Довідкова система для поточної програми повинна бути створена заздалегідь

Створення об'єкта і виклик потрібного конструктора здійснюється за допомогою ключового слова raise:

if N <1 then

raiseException.Create ( 'Значення змінної N менше 1'); 1

Стандартні класи виняткових ситуацій

У бібліотеках системи Delphi 7 є чимало класів, відповідальних за обробку різних виняткових ситуацій. На відміну від інших типів Паскаля, назви яких прийнято записувати починаючи з букви Т, імена цих класів починаються з літери Е (Exception). Основні класи виняткових ситуації наведені в табл. 2

Таблиця 2. Основні класи виняткових ситуацій

 ім'я класу  коли виникає
 EAbort  Даний клас призначений для формування і обробки «невидимих» для користувача помилок і використовується розробниками для управління ходом виконання програми. Діалогове вікно з повідомленням про помилку не відображається
 EAbstractError  Спроба виконання абстрактного методу
 EAccessViolation  Звернення до недоступною області пам'яті, наприклад при виході індексу за межі масиву
 EAssertionFailed  Значення виразу в процедурі Assert одно False
 ECoritrolC  Натиснута комбінація клавіш CTRL + C в консольному додатку
 EConvertError  Спроба невірного перетворення типів, наприклад, виклику StrToInt ( 'aaa')
 EDivByZero  Ділення на нуль
 EExternal  Неправильне функціонування системи Windows
 EExternalException  Неможливість розпізнати виняткову ситуацію засобами Delphi 7
 EHeapException  Неправильне динамічний розподіл пам'яті або некоректна робота з покажчиками
 EFileStreamError  Помилка вводу / виводу при використанні файлу, назва якого зазначено в параметрі FileName даного класу
 EInOutError  Помилка файлового введення / виводу
 EIntError  Базовий клас, на основі якого створені класи виняткових ситуацій при роботі з цілими числами
 EIntOverflow  Занадто великий результат при операції з цілими числами
 ElntfCastError  Неправильне приведення типу об'єкта за допомогою операції as під час звернення до інтерфейсу
 EInvalidCast  Неправильне приведення типу за допомогою операції as
 EInvalidOp  Невірна операція над числами з плаваючою комою
 EInvalid Pointer  Невірна операція при роботі з покажчиками
 EMathError  Базовий клас, на основі якого створені класи виняткових ситуацій при роботі з числами з плаваючою комою
 EOutOfMemory  брак пам'яті
 EOverflow  Переповнення при виконанні операції над числами з плаваючою комою
 EPackageError  Некоректна робота з пакетами (див. Далі). Виникає тільки на етапі проектування в середовищі Delphi 7
 EPrivilege  Спроба виконати недозволену привілейовану інструкцію процесора
 EPropReadOnly  Спроба занесення значення в властивість об'єкта, доступне «тільки для читання»
 ERangeError  Значення виразу цілого типу виходить за допустимий для цього типу діапазон
 EStackOverflow  Брак пам'яті в стеку. Виникає, коли використовуються дуже об'ємні локальні змінні (вони створюються і зберігаються в стеку) або коли дуже довга послідовність викликів вкладених підпрограм
 EUnderflow  Результатом виразу над числами з плаваючою комою є число, яке занадто мало для його уявлення в програмі
 EVariantError  Неправильне використання змінних типу Variant наприклад при спробі невірного приведення типів
 EWin32Error  Помилка 32-розрядної версії Windows
 EZeroDivide  Ділення на нуль

Іноді виняткові ситуації використовують, щоб змінити порядок виконання операторів програми. Якщо, наприклад, виявлена помилка при роботі будь-якого методу, бажано не просто завершити його роботу, а передати управління в частину програми, відповідальну за виняткові ситуації. Для цього зазвичай застосовують процедуру Abort (без параметрів), Тенеріфе ющую виняткову ситуацію класу EAbort.

Хімічну зброю «-- попередня | наступна --» OnEZeroDivide do
загрузка...
© om.net.ua