没有异常的Std::线程

std::thread without exceptions?

本文关键字:线程 Std 异常      更新时间:2023-10-16

我想知道是否有一种方法可以使用std::thread没有例外,如果不是我可以使用什么替代方案?

实际上我的目标是windows和linux桌面,但这可能会在未来扩展。

edit:仅仅使用编译器选项来禁用异常,不是一个可接受的解决方案。不管怎样,错误都要交出来。

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

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

您可以禁用STL的异常,但每个编译器的情况不同。当然,由于标准实际上规定必须抛出一些异常,因此无论何时执行可能抛出异常的操作,都将得到未定义的行为。

在gcc中使用-fno-exceptions

禁用异常MSVC中的

:我可以禁用STL中的异常吗?