error创建一个不发射数据以一个错误终止的Observable
Observable.<String>error(new Exception("ddddd")).subscribe(new Observer<String>() {
@Override
public void onNext(String s) {
log("onNext:" + s);
}
@Override
public void onCompleted() {
log("onCompleted");
}
@Override
public void onError(Throwable e) {
log("onError:" + e.getMessage());
}
});
会调用onError回调
public static <T> Observable<T> error(Throwable exception) {
return create(new OnSubscribeThrow<T>(exception));
}
public final class OnSubscribeThrow<T> implements OnSubscribe<T> {
private final Throwable exception;
public OnSubscribeThrow(Throwable exception) {
this.exception = exception;
}
/**
* Accepts an {@link Observer} and calls its {@link Observer#onError onError} method.
*
* @param observer
* an {@link Observer} of this Observable
*/
@Override
public void call(Subscriber<? super T> observer) {
observer.onError(exception);
}
}