c++ - 如何管理像 getlasterror 这样的错误处理?
问题描述
我开发了一个库。(观察者模式和 boost.signals2) 简而言之,逻辑:许多 C++ 模块使用唯一 ID 注册。订阅者 s1(service,"unique_id") 有很多寄存器模块。他们有唯一的 id。使用我的 Publisher 界面,我从用户接收数据并将其发送到所有或其中一个模块。到目前为止没有问题。有一些情况。我检查了我自己的图书馆。在某些情况下,无法进行广播并发生错误。我必须将此报告给发布者界面的用户。
publisher publisher_one;
std::int32_t ret_val ;
ret_val = publisher_one.publish_notifications(oss.str());
if(ret_val == 0){
std::cout<<"Succsess" << "\n";
}
else{
std::cout <<"Fail" << "\n";
/*todo
* Control error
*/
}
publish_notifications there are some if check for error status
我是一个独立的库,不能有回溯枚举返回值。最佳解决方案如何?有这方面的例子吗?据我所知,Windows 端有一个解决方案,例如 getlasterror。我可以将它应用到 linux 端吗?谢谢
解决方案
推荐阅读
- python - 如何在 django 模型中减去两个 DateTime 字段并将减去的值保留在同一模型中的另一个字段中?
- c++ - 使用更多 .cpp 编译 pybind11 项目
- python - 给定边界框列表,如何找到覆盖 Python 中所有框的多边形的坐标
- html - 如何使文本垂直居中?
- python - 如何将 Boost::Python 模块导出到 Go
- python - MongoDB 和 Heroku 同步问题
- python - 使用 ThreadPoolExecutor 的 Python RTSP 请求不发送并发 TCP SYN
- reactjs - 在渲染不同的组件(`Router.Consumer`)时无法更新组件(`Connect(withRouter(DesktopHeader))`)
- python - 使用查找函数在 Python 中聚合两个数据框
- html - 制作