diff options
author | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-07-09 21:21:43 -0700 |
---|---|---|
committer | Kirk Shoop <kirk.shoop@microsoft.com> | 2015-07-09 21:21:43 -0700 |
commit | b1dbaa7f93f9cad7c60aa983c5f213ee6d138caa (patch) | |
tree | a9c0fe7446df1d66a5dbceac982b04c79da1e409 /Rx/v2/examples | |
parent | 9a16ae70998723a9e271ba6c8f3884fce0352202 (diff) | |
download | platform_external_Reactive-Extensions_RxCpp-b1dbaa7f93f9cad7c60aa983c5f213ee6d138caa.tar.gz platform_external_Reactive-Extensions_RxCpp-b1dbaa7f93f9cad7c60aa983c5f213ee6d138caa.tar.bz2 platform_external_Reactive-Extensions_RxCpp-b1dbaa7f93f9cad7c60aa983c5f213ee6d138caa.zip |
adds on_error_resume_next operator
Diffstat (limited to 'Rx/v2/examples')
-rw-r--r-- | Rx/v2/examples/doxygen/on_error_resume_next.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Rx/v2/examples/doxygen/on_error_resume_next.cpp b/Rx/v2/examples/doxygen/on_error_resume_next.cpp new file mode 100644 index 0000000..0c9873b --- /dev/null +++ b/Rx/v2/examples/doxygen/on_error_resume_next.cpp @@ -0,0 +1,23 @@ +#include "rxcpp/rx.hpp" +namespace rxu=rxcpp::util; + +#include "rxcpp/rx-test.hpp" +#include "catch.hpp" + +SCENARIO("on_error_resume_next sample"){ + printf("//! [on_error_resume_next sample]\n"); + auto values = rxcpp::observable<>::range(1, 3). + concat(rxcpp::observable<>::error<int>(std::runtime_error("Error from source"))). + on_error_resume_next([](std::exception_ptr ep){ + printf("Resuming after: %s\n", rxu::what(ep).c_str()); + return rxcpp::observable<>::just(-1); + }); + values. + subscribe( + [](int v){printf("OnNext: %d\n", v);}, + [](std::exception_ptr ep){ + printf("OnError: %s\n", rxu::what(ep).c_str()); + }, + [](){printf("OnCompleted\n");}); + printf("//! [on_error_resume_next sample]\n"); +} |