什么是 R6010 错误?

What is a R6010 error?

我 运行 遇到一个问题,我的可执行文件可能会收到一个 abort/retry/ignore 对话框,例如:

调试错误! 程序:...whatever.exe

R6010 - abort() 已被调用

我相信这是因为我有一个未处理的异常,我可以用这个简单的程序重现这个问题:

int _tmain(int argc, _TCHAR* argv[])
{
    try
    {
        throw std::exception();
    }
    catch (std::logic_error& e)
    {

    }

    std::cout << "Hello World!";
    return 0;
}

我的假设是否正确(由未处理的异常引起)?我在网上找到了很多错误示例,但没有真正定义错误代码的含义。

这个错误只发生在我的调试版本中。我的发布版本将在崩溃之前挂起(这是我对未处理异常的预期)。

如果有断言,就会发生这种情况:assert( condition );

调试版本中只有 checked/compiled 断言。

未处理的异常在内部进行断言,以允许开发人员中断和调试程序并查找错误。

在发布版本中,应用程序立即崩溃。

如果您删除或捕获异常,错误将不再出现。