По-моему, это лишнее. Тебе же эта память нужна, и тогда ее должно быть достаточно. Если ты не сумеешь ее выделить, то что дальше-то делать? А если без нее можно было обойтись, значит, надо было обойтись...
в плюсах не силен, но правильно это работать не будет! делать надо так try { int* myarray= new int[100]; } catch (std::bad_alloc& bad) { std::cerr << bad.what() << std::endl; } или так раз вы проверяете указатель char* p = new (std::nothrow) char [2048]; if (!p) { std::cout << "failed!
"; } else { std::cout << "succeeded!
"; delete[] p; }