什么是 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 断言。
未处理的异常在内部进行断言,以允许开发人员中断和调试程序并查找错误。
在发布版本中,应用程序立即崩溃。
如果您删除或捕获异常,错误将不再出现。
我 运行 遇到一个问题,我的可执行文件可能会收到一个 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 断言。
未处理的异常在内部进行断言,以允许开发人员中断和调试程序并查找错误。
在发布版本中,应用程序立即崩溃。
如果您删除或捕获异常,错误将不再出现。