set_new_handler的问题
#include <iostream>
#include <new>
using namespace std;
void _cdecl newhandler()
{
cerr<<"error to alloc memory"<<endl;
throw(std::bad_alloc());
}
int main()
{
set_new_handler(newhandler);
new int[10000];
return 0;
}
编译时无错
运行时VC6下出错,即使不做new int[10000]这一步也是如此.
而VS.NET2003下则可正常处理,抛出异常.
请问这是为什么?