例如:
try{
CSon* son=new CSon;
return 0; //函数返回,但是若返回则无法销毁
}
catch(...){
//处理异常
}
delete son;我想实现一个类似的结构,保证一定会销毁对象
try{
CSon* son=new CSon;
return 0;
}
catch(...){
//处理异常
}
finally{
delete son;
}
注意不是用__try __finally,因为__try...__finally的结构中不支持创建对象与销毁对象的语法。请指点一下上面的结构在VC6.0里如何实现,谢谢!
try{
CSon* son=new CSon;
return 0; //函数返回,但是若返回则无法销毁
}
catch(...){
//处理异常
}
delete son;我想实现一个类似的结构,保证一定会销毁对象
try{
CSon* son=new CSon;
return 0;
}
catch(...){
//处理异常
}
finally{
delete son;
}
注意不是用__try __finally,因为__try...__finally的结构中不支持创建对象与销毁对象的语法。请指点一下上面的结构在VC6.0里如何实现,谢谢!
解决方案 »
- 在练习列表视图控件的使用时,列表框内容不显示
- activex控件接收数据问题。我想用WSAAsyncSelect绑定数据到达。好像控件没有句柄,绑定失败。怎么弄才能在数据到达时自动触发呢?
- 程序几小时后跑飞了,无内存泄露(vc)
- 哪里能下载到visual studio 6的英文版呀.
- 请问如何知道我的DLL所在进程的句柄 是不是 当前的焦点窗口?(dll中只知道HINSTANCE hins 不知道怎么得到HWND)
- 百分一问:对话框右键菜单的问题
- 本机访问数据库和异机访问数据库有什么区别?
- 连续划线的问题。(在线等待)
- 在VC环境下如何新建一个文件夹(分数有限,限两人回答)
- 本人诚招爱好网络游戏的编程高手合作开发网络游戏的辅助程序!
- 如何读/写Excel档,用哪个类比较好呀.还有Excel结构是什么样的.能给出具体的么?
- CListCtrl 偶尔出现乱码
new有自己的异常处理机制,如果不成功会返回0.如果要自己捕获异常并处理,可以使用_set_new_handler。
// 或者son用智能指针,就没有这么多的困扰了
try
{
CSon* son=new CSon;
delete son;
}
catch(...)
{
delete son;
}return 0;
try
{
CSon* son=new CSon;
}
catch(...)
{
delete son;
return 0;
}
delete son;
return 0;
CSon* son = NULL:
son = new CSon;if(son == NULL)
{
return -1;
}...//做你的事
delete son;