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

Краткие сведения из теории

Читайте также:
  1. I Общие сведения
  2. I. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ ТЕОРИИ ЦИКЛИЧЕСКИХ КОДОВ
  3. I. Общие сведения
  4. I. Общие сведения
  5. I. Общие сведения
  6. I. Сведения о заявителе
  7. I. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Обработка исключений

Цель работы. Изучить способы обработки исключений при некорректном вводе информации.

Краткие сведения из теории

1. Механизм обработки исключений в C++Builder

При разработке приложений часто возникают ситуации, при которых ответственность за правильность выполнения операций, операторов и даже отдельных функций целиком возлагается на программиста. Арифметические вычисления (деление на нуль), преобразования типа, работа с индексами и адресами, корректная формулировка условий в операторах управления, работа с потоками ввода-вывода – это далеко не полный перечень неконтролируемых в C++ ситуаций.

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

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

Различают синхронные и асинхронные исключительные ситуации.

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

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

Язык C++ определяет стандарт обслуживания исключений в рамках объектно-ориентированного программирования. C++Builder предусматривает специальные механизмы для обработки исключений (ошибок), которые могут возникнуть при использовании Библиотеки Визуальных Компонентов. C++Builder также поддерживает обработку исключений самой операционной системы и модель завершения работы приложения.

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

Обслуживаются только так называемые синхронные исключения, которые возникают внутри программы. Такие внешние события, как нажатие клавиш Ctrl+С, исключениями не считаются.

Наиболее приемлемый путь борьбы с исключениями – отлавливание и обработка их с помощью блоков try…catch. Синтаксис этих блоков следующий:

Try

{

// Критический код, выполнение которого может привести к возникновению ошибки времени выполнения;

}


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


<== предыдущая страница | следующая страница ==>
Пример программы| Catch (TypeToCatch ExceptionToCatch2)

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