Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Ошибки и исключительные ситуации

Когда начинается работа с объектом, то он размещается в памяти. | Свойства-массивы | Для классов, связанных наследованием, существует расширенная совместимость типов (совместимы по представлению в памяти). | Перекрытие элементов класса в производных классах | Информация о типе времени выполнения программы | Атрибуты доступа к элементам объектов | Механизм вызова виртуального метода | Абстрактный виртуальный метод | Методы обработки сообщений | Понятие ссылки на метод объекта |


Читайте также:
  1. I.Стилистические ошибки
  2. II. Аварийные ситуации в атомной энергетике, производственные вредности
  3. II. Лексические ошибки
  4. АНАЛИЗ СТОИМОСТИ ОШИБКИ
  5. Анализ текущей ситуации
  6. В телефонном разговоре со своим новым знакомым из города Кардиф, Уэльс, Ваш друг допустил ошибки. Найдите и исправьте их. Напишите и прочитайте рассказ.
  7. Возможные ситуации и их решения

Когда программа попадает в суровые условия – к новому пользователю и на другой компьютер – с ней может произойти все, что угодно. “Новый хозяин“ может вместо ожидаемых цифр ввести буквы, извлечь корень из отрицательного числа, делить на ноль и выполнять множество других необдуманных, часто случайных действий. Особенно это касается интерактивных (диалоговых) приложений. Из этого следует, что программист должен организовать мощную оборону от всех посягательств на жизнедеятельность своей программы в процессе ее выполнения.

 

В любом работающем приложении могут происходить ошибки. Причины этих ошибок бывают разными. Некоторые из них вызваны неграмотными действиями программиста. Но существуют ошибки, которых нельзя избежать при проектировании программы, но можно обнаружить во время ее работы (недостаточный объем свободной памяти, отсутствие файла на диске, выход значений исходных данных из допустимого диапазона).

 

Хорошая программа должна справляться со своими ошибками и работать дальше, не зацикливаясь и не зависая ни при каких обстоятельствах. Для обработки ошибок можно, конечно, пытаться использовать структуры вида

if<error> then

Exit.

 

Однако в этом случае ваш стройный и красивый алгоритм решения основной задачи обрастет уродливыми проверками. Из этой почти тупиковой ситуации среда Delphi предлагает простой и элегантный выход – механизм обработки исключительных ситуаций.

 

Исключительная ситуация (exception) — это прерывание нормального хода работы программы из-за невозможности правильно выполнить последующие действия.

 

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

Как правило, операторы обработки исключительных ситуаций находятся в одной из вызывающих подпрограмм.

 

Механизм обработки исключительных ситуаций лучше всего подходит для взаимодействия программы с библиотекой подпрограмм. Подпрограммы библиотеки обнаруживают ошибки, но в большинстве случаев не знают, как на них реагировать. Вызывающая программа, наоборот, знает, что делать при возникновении ошибок, но, как правило, не умеет их своевременно обнаруживать. Благодаря механизму обработки исключительных ситуаций обеспечивается связь между библиотекой и использующей ее программой при обработке ошибок.

 

Механизм обработки исключительных ситуаций довольно сложен в своей реализации, но для программиста он прост и прозрачен. Для его использования в Delphi введены специальные конструкции

try...except...end,

try...finally...end

и оператор raise.


Дата добавления: 2015-11-16; просмотров: 50 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Понятие события| Классы исключительных ситуаций

mybiblioteka.su - 2015-2024 год. (0.005 сек.)