我目前正在编写一个使用 Boost.Asio 作为底层套接字 API 的 TCP I/O 工具,我注意到Boost.Asio 似乎缺乏关于每个单独操作可能导致哪些特定 Boost 错误代码/条件的文档(例如函数/方法调用或异步操作)。我能找到的只是错误代码 API 和一些非正式的错误代码列表,它们都没有将特定代码与特定操作相关联。
这种明显缺乏文档令人沮丧,因为当您不知道可能的故障模式时,很难编写健壮的代码。甚至无法举出例子,因为由于缺乏文档,我什至不确定哪些操作可能会出现哪些问题。
相比之下,POSIX 套接字 API 在记录故障模式方面相当不错。特别是,它列出了每个函数调用可以生成的 errno 和返回值。
这个 Boost.Asio 文档是否存在于某个地方,而我只是没有看到它?或者我应该只是猜测、逆向工程或收集有关 Boost.Asio API 各个部分的故障模式的经验数据,以便能够编写使用它的健壮代码?