C# 反应式.NET(RX)嵌套通过返回相同的可观察到的

C# 反应式.NET(RX)嵌套通过返回相同的可观察到的,c#,exception,system.reactive,C#,Exception,System.reactive,我想介绍一些特定的错误捕获例程,然后重试订阅相同的可观察对象。这是否有任何缺点: public static IObservable<int> GetObservable() { return Observable.Interval(TimeSpan.Zero) .Select(x => { Console.WriteLine($"Throwing"); throw new Exception("ups"); retu

我想介绍一些特定的错误捕获例程,然后重试订阅相同的可观察对象。这是否有任何缺点:

 public static IObservable<int> GetObservable()
{
  return Observable.Interval(TimeSpan.Zero)
    .Select(x =>
    {
      Console.WriteLine($"Throwing");
      throw new Exception("ups");

      return Observable.Return(1);
    }).SelectMany(x => x)
    .Catch<int, Exception>(ex =>
    {
      return GetObservable().SubscribeOn(Scheduler.Default);
    });
}
publicstaticiobservable GetObservable()
{
返回可观测时间间隔(时间跨度为零)
.选择(x=>
{
Console.WriteLine($“投掷”);
抛出新异常(“ups”);
可观察的回报。回报(1);
}).SelectMany(x=>x)
.Catch(ex=>
{
返回GetObservable().SubscribeOn(Scheduler.Default);
});
}
渔获量是否真的含有一些东西,不应该以这种方式使用?这意味着什么?是否应将
Catch
视为“使用一次”例程,只需在
Do
上进行异常检查,然后在底部使用
重试