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

歡迎光臨散文網(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ù)的例子的評論 (共 條)

分享到微博請遵守國家法律
玛曲县| 尼勒克县| 安阳市| 穆棱市| 泽普县| 呼玛县| 南华县| 大余县| 桓台县| 拜泉县| 阿拉善盟| 乐亭县| 曲松县| 寿光市| 乌审旗| 苏尼特左旗| 抚顺市| 贵港市| 辉南县| 合阳县| 加查县| 吴江市| 商丘市| 武威市| 南康市| 阜平县| 前郭尔| 神木县| 大理市| 景谷| 鹰潭市| 忻州市| 通山县| 定日县| 蓬溪县| 汉川市| 杂多县| 瑞安市| 友谊县| 阿荣旗| 长寿区|