C++ 如何在自定义rxcpp运算符上调用\u错误

C++ 如何在自定义rxcpp运算符上调用\u错误,c++,reactive-programming,rxcpp,C++,Reactive Programming,Rxcpp,我创建了一个简单的rx操作符,它可以将字符串流转换为JSON流,并且运行良好。但是,我希望能够引发一个自定义异常,我不确定如何调用订阅的on_error方法 该操作符被称为convertStringToJson,可以在这里找到一个工作示例: 函数SimpleOperators::convertFromStringToJson(){ 返回[](可观测$str){ 返回$str| Rx::map([](常量字符串s){ 返回json::parse; }); }; } 如果使用try/catch转换异

我创建了一个简单的rx操作符,它可以将字符串流转换为JSON流,并且运行良好。但是,我希望能够引发一个自定义异常,我不确定如何调用订阅的
on_error
方法

该操作符被称为
convertStringToJson
,可以在这里找到一个工作示例:

函数SimpleOperators::convertFromStringToJson(){ 返回[](可观测$str){ 返回$str| Rx::map([](常量字符串s){ 返回json::parse; }); }; }
如果使用try/catch转换异常,rxcpp将起作用

但是,预期的模式是使用on_error_resume_next()来转换异常

代码如下:

function<observable<json>(observable<string>)> SimpleOperators::convertFromStringToJson() {
  return [](observable<string> $str) {
    return $str |
      Rx::map([](const string& s) {
          return json::parse(s);
      }) |
      Rx::on_error_resume_next([](std::exception_ptr){
        return Rx::error<json>(runtime_error("custom exception"));
      });
  };
}
函数SimpleOperators::convertFromStringToJson(){ 返回[](可观测$str){ 返回$str| Rx::map([](常量字符串&s){ 返回json::parse; }) | Rx::on_错误_恢复_下一步([](std::异常_ptr){ 返回Rx::error(运行时错误(“自定义异常”); }); }; } 我用这段代码在github上打开了一个pull请求

function<observable<json>(observable<string>)> SimpleOperators::convertFromStringToJson() {
  return [](observable<string> $str) {
    return $str |
      Rx::map([](const string& s) {
          return json::parse(s);
      }) |
      Rx::on_error_resume_next([](std::exception_ptr){
        return Rx::error<json>(runtime_error("custom exception"));
      });
  };
}