Como organizar a sequência de processadores de dados com o .net RX

Qual é a melhor maneira de organizar a sequência de processadores de dados com o .net RX?
- uma. Chame métodos em observáveis ​​comoobservable.Do(log).Select(transformation).Do(work).Aggregate(someState)...
- b. Implementar observadores personalizados, em caso afirmativo - como encadear
- c. Outra opção .. E também qual é a melhor opção para lidar com possíveis exceções no próprio observável (veja minhas preocupações acima) e para lidar com exceções dentro do Do, Select, etc (como eu sei a melhor prática é que os assinantes não devem jogar).

Também preciso, algumas vezes, permitir que exceções sejam retornadas como alguns elementos da sequência observável sem que a sequência seja interrompida (veja esta perguntaManipulando Exceções em Extensões Reativas sem Parar a Sequência)

questionAnswers(1)

yourAnswerToTheQuestion