首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中new的防差错理

2013-02-24 
C++中new的防错处理#include iostreamusing namespace stdint new1(void){char *testNULLwhile(1){te

C++中new的防错处理

#include <iostream>using namespace std;int new1(void){char *test=NULL;    while(1)    {        test = NULL;        test = new char[1000000];        if(test == NULL)//错误的处理方式,因为会抛出异常,而非NULL         {            cout<<"I am wrong\n";            break;        }    }    cout<<"I am ok!\n";    return 0;}int new2(void){char *test=NULL;    while(1)    {        try        {        test = new char[1000000];        }        //catch(...)catch(std::bad_alloc)//正确的处理方式         {            cout<<"I am wrong!\n";            break;        }    }    cout<<"I am ok!\n";}int main(int argc,char* argv[]){    new2();    cout<<"--------"<<endl;    new1();    cout<<"++++++++"<<endl;        return 0;}

热点排行