一般来说,Observable不会抛异常。它会调用 onError 终止Observable序列,以此通知所有的观察者发生了一个不可恢复的错误。 但是,也存在一些异常。例如,如果 onError 调用失败了,Observable不会尝试再次调用 onError 去通知观察者,它会抛出 RuntimeException,OnErrorFailedException 或者 OnErrorNotImplementedException。
onError
RuntimeException
OnErrorFailedException
OnErrorNotImplementedException
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: 因此,你的观察者或者操作符应该对异常发生时的 onError 通知做出合适的响应,而不是捕获(catch)异常。很多操作符可用于对Observable发射的onError通知做出响应或者从错误中恢复,例如,你可以:
你可以使用 [[异常处理操作符|Error Handling Operators]] 描述的操作符实现这些策略。
CompositeException
getExceptions()
MissingBackpressureException
onError()
OnErrorThrowable
Throwable
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8