http://tikitak.narod.ru ---- Главная страница сайта
Шаг 98 - Как используются исключения в VC и MFC.
Есть два механизма исключений.
- Исключения, как операторы С++.
- Макросы исключений
Макросы исключений считаются устаревшими, для всех новых программ рекомендуют использовать только операторы C++. Правда для того, чтобы в Вашей программе использовались исключения необходимо их разрешить в меню Project Setting в разделе C/C++ должен быть установлен флаг Enable exception handing.
Для обработки исключений 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
|