【问题标题】:DynamicData Exceptions within Transform don't bubble upTransform 中的 DynamicData 异常不会冒泡
【发布时间】:2020-08-16 14:48:28
【问题描述】:

鉴于以下 sn-p

var connection = Session.MarketRecords.Connect()
                    .Group(r => r.SettledDate.Date)
                    .Transform(grouping => new DayReport(grouping))
                    .Bind(DayReports, Updater)
                    .Subscribe();

看起来 Transform 函数中抛出的异常被吞没了,因此很难弄清楚什么时候出了问题。我之所以能够识别这一点,是因为没有填充 DayReports“列表”(而且我知道有记录)所以我认为这可能是错误的绑定,但是在“到处”放置断点之后,我认为 DayReport 的构造函数有在某些情况下会导致抛出异常的错误。是否有任何推荐的方法来捕获在这些情况下发生的异常?

【问题讨论】:

    标签: xamarin.forms dynamic-data reactiveui


    【解决方案1】:

    这已在 Reactive slack 上得到回复,所以我将其发布在这里以供参考。

    Subscribe 有一个重载,它接受两个参数,第二个是异常处理程序,这将是处理任何先前调用期间抛出的异常的适当方式。所以以下工作正常:

    var connection = Session.MarketRecords.Connect()
                        .Group(r => r.SettledDate.Date)
                        .Transform(grouping => new DayReport(grouping))
                        .Bind(DayReports, Updater)
                        .Subscribe((change) =>
                        {
                            Console.WriteLine(change.Count);
                        },
                        (ex) =>
                        {
                            Console.WriteLine(ex.Message);
                        });
    

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 2011-05-13
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多