从内部对象返回main值

时间:2015-06-24 23:24:14

标签: c++ object error-handling

在我的main()中,我正在创建在构造函数中进行错误检查的对象。 如果发生错误,我想从main()返回错误代码以退出程序。

我应该使用回调来返回main()中的错误代码,还是不应该在构造函数中进行错误检查;将它移动到一个成员函数,可以将错误代码返回到main()?

1 个答案:

答案 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;
    }
}