std :: thread没有例外?

时间:2013-01-03 12:18:21

标签: c++ multithreading exception c++11

我想知道是否有办法在没有例外的情况下使用std::thread,如果没有,我可以使用哪些替代方案?

实际上我的目标是Windows和Linux桌面,但未来可能会扩展。

编辑仅使用编译器选项来禁用异常,这是不可接受的解决方案。错误必须以这种或那种方式提交。

问题是我的代码中只使用的异常是那些处理std::thread错误的异常。我想摆脱那些拥有无异常代码的人

edit2:我找到了tinythread ++库,如果需要它似乎很容易修改,并且没有例外。

1 个答案:

答案 0 :(得分:1)

您可以禁用STL的异常,但每个编译器的异常都不同。当然,由于标准实际上说必须抛出一些异常,每当你做一些会引发异常的事情时,你都会得到未定义的行为。

在gcc中,您可以使用-fno-exceptions

禁用例外 MSVC中的

Can I disable exceptions in STL?