c++ - Asio 的计时器在取消时什么时候会抛出异常?

标签 c++ networking boost timer asio

Boost Asio 的 steady_timer::cancel() 可能会抛出 boost::system::system_error

什么情况下会发生这种情况?

https://www.boost.org/doc/libs/1_67_0/doc/html/boost_asio/reference/basic_waitable_timer/cancel/overload1.html


当前的 Networking TS 有一个 basic_waitable_timer,但不具有 noexcept .cancel() 函数。这里是否忘记了 noexcept 或者该函数也可以抛出异常?

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4734.pdf [timer.waitable.ops]

最佳答案

Under what circumstances can this happen?

我想不起来了。请注意,采用 error_code 引用的重载已被弃用:(Deprecated: Use non-error_code overload.)

这告诉我错误接口(interface)过多。

关于c++ - Asio 的计时器在取消时什么时候会抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49836088/

相关文章:

c++ - 关于数组的边界

c# - 对象到网络序列化 - 使用现有协议(protocol)

networking - RPC 服务器不可用。 (HRESULT : 0x800706BA) 的异常

c++ - 如何遍历 boost::exception 中的所有 error_info?

c++ - 为什么使用 [] 运算符会导致编译器错误?

c++ - 在其他类(class)内实现探视类

c++结构问题,在结构中访问var

c++ - 指向常量数组的指针

c++ - 无法评估函数——可能是内联的

docker - 从 docker 容器连接到 ubuntu 端口