C/C++:关于new申请大内存后抛出异常

原创
2015/04/22 09:19
阅读数 242

(环境:Win7 64位, C++ builder 2010)

C/C++中的操作符new在申请大内存失败后,默认会抛出std::bad_alloc异常,可使用try...catch捕获。示例代码如下:

int _tmain(int argc, _TCHAR* argv[])
{
    try
    {
        char *p = new char[1200000000];
    }
    catch (std::bad_alloc &e)
    {
        printf("%s\n", e.what());
    }
    catch (...)
    {
        printf("catch \n");
    }
 
    system("pause");
    
    return 0;
}


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部