Хелпикс

Главная

Контакты

Случайная статья





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



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

Исключение— это событие при выполнении программы, которое приводит к её ненормальному или неправильному поведению. Существует два вида исключений:

· Аппаратные (структурные, SE-Structured Exception), которые генерируются процессором. К ним относятся, например,

o деление на 0;

o выход за границы массива;

o обращение к невыделенной памяти;

o переполнение разрядной сетки.

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

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

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

Обработка исключений (exception handling) позволяет упорядочить обработку ошибок времени исполнения. Используя обработку исключений С++, программа может автоматически вызвать функцию-обработчик ошибок тогда, когда такая ошибка возникает. Принципиальным достоин­ством обработки исключений служит то, что она позволяет автоматизировать большую часть кода для обработки ошибок, для чего раньше требовалось ручное кодирование.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.