RX2异常在Eventloopscheduler中



我们已经从RX1.1.11111.1移民到RX 2.0.20823.2。现在,我们遇到了Eventloopscheduler的罕见例外:

an Unhandled Exception occured in non UI thread.
System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Reactive.Concurrency.EventLoopScheduler.Run()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

有人猜测有什么问题?是因为我们没有使用OnError代表,而我们的一种方法失败了?

这是代码的要旨:

eventloopscheduler m_scheduler = new Eventloopscheduler();

。。。

m_receivedmessagehandler.statusreceived.observeon(m_scheduler) 。

sendall内部的异常会导致此行为?

您需要将OnError处理程序放入订阅中,否则该应用将崩溃。如果您不关心错误,那就吃掉它,不要做任何事情。我曾经有相同的错误,所以我做过

            var subscription = observable.Subscribe(
                onNext: (v) => DoSomethingWith(v),
                onError: (Exception e) => {
                    // Just eat and log the exception.
                    Debug.WriteLine(e.ToString());
                }
            );

当我不在乎例外时。最好明确忽略错误和/或在某个地方记录在某个问题的地方。

相关内容

  • 没有找到相关文章