最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++構(gòu)造函數(shù)中拋出異常,不執(zhí)行析構(gòu)函數(shù)的例子

2023-04-09 06:03 作者:淡定的茶  | 我要投稿

演示C++在構(gòu)造函數(shù)中拋出異常時,不調(diào)用析構(gòu)函數(shù),導致資源不能釋放的一種解決方法。


namespace TEST
{
void exception()
{
class A
{
public:
A()
{
cout<<"I am in A."<<endl;
try
{
m_pBuf = new char[100];

throw std::runtime_error("test");
}
catch(...)
{
cleanup();
}
}

~A()
{
cout<<"I will out A."<<endl;
}

private:
char* m_pBuf;

void cleanup()
{
cout<<"i am in cleanup."<<endl;
}
};

A a;

}
}

int main()
{
try
{
TEST::exception();
}
catch(exception& error)
{
cout<<"info is "<< error.what()<<endl;
}
catch (...)
{
cout<<"issue a exception."<<endl;
}

getchar();


return 1;
}


C++構(gòu)造函數(shù)中拋出異常,不執(zhí)行析構(gòu)函數(shù)的例子的評論 (共 條)

分享到微博請遵守國家法律
车险| 玉田县| 永济市| 福安市| 榕江县| 定安县| 淮北市| 外汇| 金川县| 韶关市| 石城县| 板桥市| 甘谷县| 三原县| 望谟县| 平阳县| 通辽市| 凯里市| 安塞县| 榆社县| 青铜峡市| 内黄县| 皮山县| 五峰| 星子县| 曲水县| 巴彦淖尔市| 都安| 晋州市| 安塞县| 景洪市| 鄯善县| 新宾| 延庆县| 甘南县| 余江县| 舒兰市| 凤阳县| 曲阜市| 南丰县| 屏山县|