19830

Специфікація функцій, що обробляють виключення

Доклад

Информатика, кибернетика и программирование

Специфікація функцій що обробляють виключення Повернення функцією коду помилки є самим звичайним і широко застосовуваним методом. Однак цей метод має істотні недоліки. Поперше потрібно пам'ятати чисельні значення кодів помилок. Цю проблему можна обійти використовую...

Украинкский

2013-07-17

24.5 KB

0 чел.

Специфікація функцій, що обробляють виключення

Повернення функцією коду помилки є самим звичайним і широко застосовуваним методом. Однак цей метод має істотні недоліки. По-перше, потрібно пам'ятати чисельні значення кодів помилок. Цю проблему можна обійти, використовуючи перераховуються типи. Але в деяких випадках функція може повертати широкий діапазон допустимих (неошібочних) значень, і тоді складно знайти діапазон для повертаються кодів помилки. Це і є другим недоліком. І, по-третє, при використанні такого механізму сигналізації про помилки вся відповідальність за їх обробці лягає на програміста і можуть виникнути ситуації, коли серйозні помилки будуть залишені без уваги.
Повернення коду помилки через аргумент функції або використання глобальної змінної помилки знімають, насамперед, другу проблему, проте як і раніше залишаються перша і третя. Крім того, використання глобальних змінних не є особливо позитивним фактором.
Використання оператора безумовного переходу в будь-яких ситуаціях є небажаним, крім того, оператор goto діє тільки в межах функції. Пара функцій setjmp / longjmp є досить потужним засобом, однак і цей метод має серйозний недолік: він не забезпечує виклик деструкторів локальних об'єктів при виході з області видимості, що, природно, тягне за собою витоку пам'яті.

І, нарешті, макрос assert є скоріше засобом налагодження, ніж засобом обробки нештатних подій, що виникають в процесі використання програми.


 

А также другие работы, которые могут Вас заинтересовать

7092. Средневековая схоластика Ф. Аквинского 43.53 KB
  Средневековая схоластика Ф. Аквинского Характеристика Средних веков Эпоха средневековья длилась более тысячи лет. Ученые считают началом средних веков - падение Римской империи (V век н.э.), когда христианская религия окончательно утверди...
7093. Маркетинговое обслуживание потребителей 49.99 KB
  Введение В условиях рыночной экономики многие проблемы товаропроизводителей не могут быть в полной мере решены с помощью традиционных методов управления. Требуется создавать систему менеджмента, обеспечивающую эффективность хозяйственной единицы в н...
7094. Магнитометры на СКВИДах 108.5 KB
  Магнитометры на СКВИДах. Сверхпроводимость. Основные параметры сверхпроводников. Явление сверхпроводимости состоит в том, что при некоторой температуре, близкой к абсолютному нулю, электро сопротивление в некоторых материалах исчезает. Эта темпера...
7095. Социолингвистика. Лекции. Социальная стратификация языка 190 KB
  Лекции по курсу Социолингвистика. Лекция 1. Предмет социолингвистики и методы социолингвистического анализа. Предметом изучения социолингвистики является проблема человек и общество. Непосредственным объектом социолингвистики является ...
7096. Технология эмульгированных мясопродуктов 65.69 KB
  Лекция 4. Технология эмульгированных мясопродуктов План АССОРТИМЕНТ КОЛБАСНЫХ ИЗДЕЛИЙ, СЫРЬЕ И МАТЕРИАЛЫ ДЛЯ ИХ ПРОИЗВОДСТВА Ассортимент колбасных изделий Характеристика сырья Колбасные оболочки Упаковочные и перевязочны...
7097. Основы программирования на языке Паскаль 81.53 KB
  Краткий курс лекций. Основы программирования на языке Паскаль Введение. Прежде всего, следует напомнить, что изучение языка программирования представляет собой знакомство с формальными правилами записи алгоритмов для их последующего выполнения компьют...
7098. Психосоматика. Курс лекций 279 KB
  Конспект лекций Психосоматика Психосоматика: определение понятия. Конверсионные симптомы. Функциональные синдромы. Психосоматозы Патогенез психосоматических расстройств Психосоматические теории и модели. Характерологически ориентированные направле...
7099. Основы аудита. Проблемно-тематический курс 267.5 KB
  Основы аудита Проблемно-тематический курс. Понятие, цели и организация аудиторской деятельности Тема 2. Виды аудиторских услуг Тема 3. Источники информации о финансово-хозяйственной деятельности экономического субъекта при осуществ...
7100. Проектирование многомодульной программы 177.5 KB
  Проектирование многомодульной программы Методические указания содержат основные теоретические сведения, рекомендации и примеры, необходимые для выполнения лабораторной работы и семестрового задания по курсу Алгоритмические языки и прог...