【发布时间】:2014-04-22 19:51:29
【问题描述】:
我是 C++ 异常处理的新手,最近遇到了一些问题。
在我的代码中,我想创建一个对象,并且只创建一个对象。我正在与一个库交互,我必须在其中向构造函数提供输入。下面是对构造函数的调用:
ObjectA my_object(param1, param2, param3);
我的问题是构造函数本身可以抛出异常。我过去做了有限的工作,但有例外(我知道 try-catch 机制),但由于范围可变,我不确定在这里做什么。例如:
try {
ObjectA my_object(param1, param2, param3);
}
catch {
// don't worry I need to do more than this here, just an example...
cout << "OMFG!" << endl;
exit(EXIT_FAILURE);
}
// if code got here, everything with my_object is OK
my_object.Method1(param1); // ERROR: my_object is out of scope!
如果我可以快速检查正在正确构造的对象,我们将不胜感激。谢谢
【问题讨论】:
-
将与对象相关的所有内容都放在try块中。
标签: c++ exception exception-handling constructor