Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Exit(1);





}

// Здесь продолжается выполнение при нормальном

// завершении функции do_something()

}

Слова try и catch являются ключевыми словами языка С++. Конструкция

catch (.....) {..... }

называется обработчиком исключения и должна размещаться сразу за try -

блоком, либо за другим (предшествующим) обработчиком исключения. В

круглых скобках обработчика содержится имя типа, идентифицирующее

исключительную ситуацию и, возможно, имя аргумента, который может

использоваться подобно аргументу функции и передавать обработчику

дополнительную информацию, связанную с исключением – значение

исключения.

Процесс генерации и последующей обработки исключений требует

поиска соответствующего обработчика от точки возникновения исключения

через последовательность стековых фреймов вызовов функций до фрейма

функции, имеющей искомый обработчик. Говорят, что происходит

раскручивание стека вызовов.

ПРОГРАММНЫЙ СТЕК И ЕГО ИЗМЕНЕНИЕ

Для лучшего понимания механизма обработки исключения необходимо

подробнее рассмотреть процесс изменения программного стека во время

выполнения программы.

Стек представляет собой область оперативной памяти компьютера,

которая используется для размещения информации, связанной с вызовом

функций, а также для хранения автоматических локальных переменных. Перед

вызовом функции в стек заносится адрес возврата, кадр состояния (фрейм),

содержащий значения регистров и позволяющий перед возвратом восстановить

состояние вычислительного процесса и, при необходимости, значения

параметров. После входа в программную секцию функции, со стека снимаются

значения параметров и помещаются автоматические локальные переменные.

Перед возвратом из функции со стека снимаются локальные переменные, кадр

состояния и адрес возврата, затем в стек заносится возвращаемое функцией

значение. По кадру состояния восстанавливаются регистры, после чего

управление передается по адресу возврата. Таким образом, в процессе

выполнения программы стек увеличивается и уменьшается.

Date: 2015-12-12; view: 393; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию