Rx java 在rxjava 2中未找到OnErrorThrowable

Rx java 在rxjava 2中未找到OnErrorThrowable,rx-java,rx-java2,Rx Java,Rx Java2,我正在将rxjava1升级到rxjava2。在rxjava 1中有一个RorThrowable,但在rxjava 2中找不到。在下面的代码中,我可以做什么来替换OnErrorThrowable static Observable<String> sampleObservable() { return Observable.defer(new Callable<ObservableSource<String>>() { @Override

我正在将rxjava1升级到rxjava2。在rxjava 1中有一个RorThrowable,但在rxjava 2中找不到。在下面的代码中,我可以做什么来替换OnErrorThrowable

static Observable<String> sampleObservable() {
    return Observable.defer(new Callable<ObservableSource<String>>() {
        @Override
        public ObservableSource<String> call() throws Exception {
            try {
                // Do some long running operation
                Thread.sleep(TimeUnit.SECONDS.toMillis(5));
            } catch (InterruptedException e) {
                throw OnErrorThrowable.from(e);
            }
            Log.d(TAG, "The sleep is over, now produce something");
            return Observable.just("one", "two", "three", "four", "five");
        }
    });
}
静态可观察样本可观察(){
return Observable.defer(new Callable()){
@凌驾
public observeSource调用()引发异常{
试一试{
//做一些长时间运行的操作
睡眠(时间单位为秒,toMillis(5));
}捕捉(中断异常e){
从(e)中抛出一个可抛出的;
}
Log.d(标记“睡眠结束了,现在生产一些东西”);
可观察的回报。只是(“一”、“二”、“三”、“四”、“五”);
}
});
}

您可以返回
可观察的错误(e)
而不是抛出catch块。

您可以返回
可观察的错误(e)
而不是抛出catch块。

在2.x中,您不必包装异常,因为所有函数类型都声明
抛出异常

static Observable<String> sampleObservable() {
return Observable.defer(new Callable<ObservableSource<String>>() {
    @Override
    public ObservableSource<String> call() throws Exception {
        Thread.sleep(TimeUnit.SECONDS.toMillis(5));
        Log.d(TAG, "The sleep is over, now produce something");
        return Observable.just("one", "two", "three", "four", "five");
    }
});
静态可观察样本可观察(){
return Observable.defer(new Callable()){
@凌驾
public observeSource调用()引发异常{
睡眠(时间单位为秒,toMillis(5));
Log.d(标记“睡眠结束了,现在生产一些东西”);
可观察的回报。只是(“一”、“二”、“三”、“四”、“五”);
}
});

}

在2.x中,您不必包装异常,因为所有函数类型都声明
抛出异常

static Observable<String> sampleObservable() {
return Observable.defer(new Callable<ObservableSource<String>>() {
    @Override
    public ObservableSource<String> call() throws Exception {
        Thread.sleep(TimeUnit.SECONDS.toMillis(5));
        Log.d(TAG, "The sleep is over, now produce something");
        return Observable.just("one", "two", "three", "four", "five");
    }
});
静态可观察样本可观察(){
return Observable.defer(new Callable()){
@凌驾
public observeSource调用()引发异常{
睡眠(时间单位为秒,toMillis(5));
Log.d(标记“睡眠结束了,现在生产一些东西”);
可观察的回报。只是(“一”、“二”、“三”、“四”、“五”);
}
});

}

嘿,David,像
onErrorReturn()
,我们以前使用
OnErrorThrowable.from()
重新抛出错误这样的情况怎么样?嘿,David,像
onErrorReturn()
,我们以前使用
OnErrorThrowable.from()重新抛出错误这样的情况怎么样?