Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 277

Задача освобождения памяти в реальной системе называется сборкой мусора (garbagecollection). Для нее разработано множество алгоритмов, но все они либо ограничены по области применимости, либо не могут предотвратить утечки памяти и (чаще всего) появления висячих ссылок. Поэтому удале­ние еще нужных динамических объектов практически целиком остается на совести программиста и является одним из источников мистических ошибок в используемых программах.

Еще более трудной становится ситуация, если у нас вычисления суще­ственно совместные, распределенные либо параллельные. Тогда структура контекстов может стать деревом (см. рис. 7.7), где у многих приостановлен­ных контекстов есть несколько подчиненных им активных либо приостанов­ленных контекстов.

7.4.3. Исключения

Еще одним важным случаем, когда приходится покидать оператор, не исполнив его до конца, является возникновение исключительной ситуации. Для обработки исключительных ситуаций, начиная с языка Ada, вводятся специальные средства. Рассмотрим их на примере С++.

Конструкцияcatchможет повторяться несколько раз. Внутри <Оператора try>может использоваться конструкция throw<Имя исключениям

Эта конструкция возбуждает исключение с соответствующим именем.

Кроме того, все ненормальности, возникающие в ходе исполнения опе­раторов внутри <Оператораtry>,также вызывают исключения со стандарт­ными именами. В частности, такие (обычно вылавливаемые лишь по непри­ятностям, возникающим впоследствии) ошибки, как переполнение диапазо­на целых чисел или выход индекса за границы массива, также возбуждают исключения. При возникновении исключения:

уничтожаются все возникшие внутри <Оператораtry>локальные объек­ты;

ищется соответствующий имени исключения обработчик исключения, т. е.<catch>;

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета &quot;Ангара-А5В&quot; в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие &quot;Крокодилы&quot;

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама