C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
отловить исключение, нехватка памяти
kea
Отправлено: 02.12.2005, 20:25


Станционный диспетчер

Группа: Участник
Сообщений: 80



Здравствуйте!
Как отловить исключение при нехватке памяти когда создаешь большое число объектов при помощи операции new?
Георгий
Отправлено: 03.12.2005, 03:12


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



set_new_handler должен помочь
kea
Отправлено: 03.12.2005, 08:28


Станционный диспетчер

Группа: Участник
Сообщений: 80



Можете привести пример?
kea
Отправлено: 03.12.2005, 10:54


Станционный диспетчер

Группа: Участник
Сообщений: 80



Стандартными средствами можно обойтись?
Георгий
Отправлено: 03.12.2005, 12:37


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



set_new_handler вполне стандартное средство.

но ещё можно и исключение перехватить, но это придётся во всех местах обращения к оператору new делать
CODE
void *p=0;
try{
p =new char [50*1024*1024];
}
catch(std::bad_alloc& e)
{
Application->MessageBox(e.what(),"error",MB_OK);
};

Вернуться в Вопросы программирования в C++Builder