3

异步函数通常不使用异常。

即使在同步调用中,Asio 和 Boost-Beast 也有重载,它们采用类型的输出参数system_error&而不是抛出。

异步操作不能抛出异常,因为操作没有在调用代码的堆栈帧中完成¹。

没有声明这些是否有技术原因noexcept

除了可能的性能优势之外,我还认为这对用户来说是有用的提示,因为用户知道他们不需要异常处理。

¹ 从技术上讲,它们可能会抛出异常,例如前置条件检查或无效参数

4

0 回答 0