Все, что было написано об исключениях ранее в этой главе, соответствует стандартному механизму. Любой компилятор, если он претендует на гордое звание компилятора С++, обязан этот механизм поддерживать. Однако исключения
были добавлены в стандарт С++ едва ли не в последнюю очередь, поэтому во многих системах были реализованы нестандартные расширения языка С++, связанные с обработкой исключений. Обычно в составе системы программирования поставляются фирменные библиотеки классов, которые включают в себя собственную иерархию классов-исключений. Инструментальная среда порой поддерживает несколько разных механизмов, и бывает непросто разобраться, как и в каких ситуациях корректно использовать те или иные средства. Как правило, объединять в одной программе разные механизмы обработки исключений не рекомендуется, а то и вовсе запрещается. Нужно как-то ориентироваться в этом многообразии, поэтому кратко рассмотрим некоторые возможности обработки исключений, которые не являются стандартными, но предоставляются средой программирования. Рассмотрим систему Visual C++.NET 2003. В справочнике этой системы описаны следующие механизмы обработки исключений:
• стандартный механизм обработки исключений С++ (С++ exception handling);
• обработка исключений в «управляемом» языке С++;
• механизм обработки исключений библиотеки Microsoft Foundation class (MFC exception handling);
• механизм структурной обработки исключений Windows (Structured Exception Handling, SEH).
Аналогичная картина наблюдается в системе Borland С++ Builder 6 — в справочнике системы описаны:
• стандартный механизм обработки исключений;
• исключения, реализованные в составе библиотеки VCL/CLX;
• механизм SEH.
Поскольку в обеих системах реализован механизм SEH, рассмотрим его подробнее на примере системы Visual C++.NET 2003.
Опубликовал Kest
November 13 2013 23:26:41 ·
0 Комментариев ·
3304 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.