C++ 如何在自定义rxcpp运算符上调用\u错误
我创建了一个简单的rx操作符,它可以将字符串流转换为JSON流,并且运行良好。但是,我希望能够引发一个自定义异常,我不确定如何调用订阅的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转换异
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"));
});
};
}