如果构造函数出错,如何处理?
2014-04-28 18:01
120 查看
// 构造函数失败处理
#include <iostream>
using namespace std;
class CFoo {
public:
CFoo()
{
cout << "construct CFoo." << endl;
// an error occurred
throw -1;
}
~CFoo()
{
cout << "destruct CFoo." << endl;
}
};
int main (int argc, char *argv[])
{
CFoo *Foo = NULL;
try
{
Foo = new CFoo;
}
catch (...)
{
cout << "catch exception." << endl;
// Foo == NULL, can't delete it
}
getch();
return 0;
}
#include <iostream>
using namespace std;
class CFoo {
public:
CFoo()
{
cout << "construct CFoo." << endl;
// an error occurred
throw -1;
}
~CFoo()
{
cout << "destruct CFoo." << endl;
}
};
int main (int argc, char *argv[])
{
CFoo *Foo = NULL;
try
{
Foo = new CFoo;
}
catch (...)
{
cout << "catch exception." << endl;
// Foo == NULL, can't delete it
}
getch();
return 0;
}
相关文章推荐
- 答:SQLServer DBA 三十问之三:有哪些操作会使用到TempDB;如果TempDB异常变大,可能的原因是什么,该如何处理
- ASP.NET MVC 的统一异常处理有多难?(衍生的意图,出错后如何保持表单的状态?)
- maven spring restful 以json返回时,如果出现406错误该如何处理
- 如何处理构造函数抛出的异常?
- 安卓应用如何设置为开机自启动?如果自启动失败如何处理?
- 如果出现oracle监听停止的情况,如何处理
- Sql : 如何判断一个表中,是否存在一个ID,如果存在不处理,如果不存在
- 如何处理构造函数的失败?
- 如何处理Android2.3解析json出错,4.0不报错
- 如何处理scanf()函数误输入造成程序死锁或出错(fflush(stdin))
- WINDOWS下OEM启动出错时如何处理
- 第五题:下面的程序有问题吗?如果有,请指出可能出错的地方,以及如何修改
- 关于重构之Switch的处理【一】如果是有序的话,如何处理
- 如果BarTender出现卸载不干净的问题如何处理
- 1、class或都id中含有“.”,“#”等特殊字符 在我们的程序中可能会遇到id中还有“.”和“#”等特殊字符,如果按照普通方式处理就会出错,解决方法是用转义符转义。 在下面程序中: <div
- 海量数据排序——如果有1TB的数据需要排序,但只有32GB的内存如何排序处理?
- make出错信息:can't find -lperl 如何处理?
- 当用curl爬取数据时,如果想截取的内容前后html都含有换行符,空格,该如何处理
- rails的rake出错,认不到RDoc,该如何处理
- 学习Altas 笔记[js调用重载的方法出错,如何处理]