1 #include "rxcpp/rx.hpp" 2 3 #include "rxcpp/rx-test.hpp" 4 #include "catch.hpp" 5 6 SCENARIO("finally sample"){ 7 printf("//! [finally sample]\n"); 8 auto values = rxcpp::observable<>::range(1, 3). __anon936684170102()9 finally([](){ 10 printf("The final action\n"); 11 }); 12 values. 13 subscribe( __anon936684170202(int v)14 [](int v){printf("OnNext: %d\n", v);}, __anon936684170302()15 [](){printf("OnCompleted\n");}); 16 printf("//! [finally sample]\n"); 17 } 18 19 SCENARIO("error finally sample"){ 20 printf("//! [error finally sample]\n"); 21 auto values = rxcpp::observable<>::range(1, 3). 22 concat(rxcpp::observable<>::error<int>(std::runtime_error("Error from source"))). __anon936684170402()23 finally([](){ 24 printf("The final action\n"); 25 }); 26 values. 27 subscribe( __anon936684170502(int v)28 [](int v){printf("OnNext: %d\n", v);}, __anon936684170602(rxcpp::util::error_ptr ep)29 [](rxcpp::util::error_ptr ep){ 30 printf("OnError: %s\n", rxcpp::util::what(ep).c_str()); 31 }, __anon936684170702()32 [](){printf("OnCompleted\n");}); 33 printf("//! [error finally sample]\n"); 34 } 35