在过程教程中,它指出
所有函数的默认行为都是在失败时抛出std::system_error
。
但是,给出的示例使用的是boost::process::system
。boost::process::child
函数是否会像boost::system
函数那样抛出std::system_error
?将来在哪里可以找到其他类的此信息?它不是class documentation的一部分
在过程教程中,它指出
所有函数的默认行为都是在失败时抛出std::system_error
。
但是,给出的示例使用的是boost::process::system
。boost::process::child
函数是否会像boost::system
函数那样抛出std::system_error
?将来在哪里可以找到其他类的此信息?它不是class documentation的一部分
1条答案
按热度按时间nfs0ujit1#
教程确实指出
std::system_error
,而参考文档指出:代码检查是最终的答案(boost/process/exception.hpp):
如果标记为
noexcept
的函数抛出,则调用std::terminate
;这有效地简化了关于它们的推理,因为它们通常是非抛出的。否则,即没有noexcept
或有noexcept(false)
,函数可以抛出任何东西。最后,这取决于程序员是否相信规范。