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);
}; | |
|