首页 > 解决方案 > 如何管理像 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 端吗?谢谢

标签: c++error-handling

解决方案


推荐阅读