www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 98 - Как используются исключения в VC и MFC.

Есть два механизма исключений.
  • Исключения, как операторы С++.
  • Макросы исключений
Макросы исключений считаются устаревшими, для всех новых программ рекомендуют использовать только операторы C++. Правда для того, чтобы в Вашей программе использовались исключения необходимо их разрешить в меню Project Setting в разделе C/C++ должен быть установлен флаг Enable exception handing.

step98.gif (5623 b)

Для обработки исключений MFC используется класс CException или классы поражденные от него. Для обработки исключительных ситуаций в MFC есть свои классы

CMemoryException		недостаточно памяти
CFileException			ошибка работы с файлами
CArhiveException		ошибка записи или востановления обьекта
CNotSupportedException		ошибка неизвестного устройства
CResourceException		ошибка работы с ресурсами
CDaoException			ошибка работы с базами данных
CDBException			ошибка рабюоты с базами данных
COleException			ошибка работы с обьектами OLE
COleDispatchException		ошибка работы с серверами автоматизации
CUserException			исключение с окном сообщения
К сожалению во всем этом есть неприятность. Механизмы работы исключений MFC не работают со структурированными обработчиками исключений SEH для NT. Следует отметить, что объекты MFC порождают исключения только производные от класса CException. Вот пример отлавливания исключения по нехватке памяти.
try
{
 // здесь мы эту память......
 // короче на лево и направо раздаем
}
catch(CMemoryException)
{
 // а вот здесь мы напишем
 // что будет делать потом
 // когда она закончится
}


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz