So rather than catch exceptions, your observer or operator should more typically respond to onError notifications of exceptions. There are also a variety of Observable operators that you can use to react to or recover from onError notifications from Observables. For example, you might use an operator to:
因此,你的觀察者或者操作符應(yīng)該對異常發(fā)生時的 onError 通知做出合適的響應(yīng),而不是捕獲(catch)異常。很多操作符可用于對Observable發(fā)射的onError通知做出響應(yīng)或者從錯誤中恢復,例如,你可以:
你可以使用 [[異常處理操作符|Error Handling Operators]] 描述的操作符實現(xiàn)這些策略。
CompositeExceptiongetExceptions() 方法獲取單獨的異常。MissingBackpressureExceptionOnErrorFailedExceptiononError() 方法,但是那個方法自己拋出了異常。OnErrorNotImplementedExceptiononError() 方法,但是那個方法不存在。有多種方法可以消除這個錯誤:可以調(diào)整Observable使它不會到達這個錯誤條件,也可以在觀察者中實現(xiàn)一個onError 處理器, 或者使用其它的操作符在錯誤到達之前攔截這個 onError 通知。OnErrorThrowableonError() 方法。相比標準的Throwable,這種Throwable包含更多的信息:錯誤本身和在錯誤發(fā)生時Observable的內(nèi)部狀態(tài)。