问题描述
根据 STL 文档,当 std::thread::join 不可连接时抛出 std::invalid_argument,我不容易理解它的设计原理。
问题:
- std::thread::join 没有输入参数,抛出 std::invalid_argument 异常的目的是什么?
- 当 std::thread::join 不可连接时,调用 std::terminate 不是更好吗?
解决方法
当 std::thread::join 不可连接时会抛出 std::invalid_argument 吗?
是的。
std::thread::join 没有输入参数,抛出 std::invalid_argument 异常的目的是什么?
如果您愿意,有一个隐式参数:*this
当 std::thread::join 不可连接时,调用 std::terminate 不是更好吗?
如果您没有捕获异常,std::terminate
将被调用。