在我的main()中,我正在创建在构造函数中进行错误检查的对象。 如果发生错误,我想从main()返回错误代码以退出程序。
我应该使用回调来返回main()中的错误代码,还是不应该在构造函数中进行错误检查;将它移动到一个成员函数,可以将错误代码返回到main()?
答案 0 :(得分:2)
您可以使用throw
:
struct C
{
C() {throw std::runtime_error("for the example");}
};
int main()
{
try
{
C c;
// Do normal stuff (that never happen due to throw)
return 0;
}
catch (const std::exception& e)
{
std::cerr << e.what() << std::endl;
return -1;
}
}