Exception 在哪里可以获得subscribe()方法中抛出的异常?
我用的是rxAndroidException 在哪里可以获得subscribe()方法中抛出的异常?,exception,observable,reactive-programming,rx-android,rx-java2,Exception,Observable,Reactive Programming,Rx Android,Rx Java2,我用的是rxAndroid 我读了很多文件,但仍然没有找到解决方案,也许我错过了, 所以请给我一个指导。 在这里,我创建了一个observable,它可能会在subscribe方法中引发异常 return Observable.create(new ObservableOnSubscribe<Project>() { @Override public void subscribe(@NonNull ObservableEmitter&l
我读了很多文件,但仍然没有找到解决方案,也许我错过了, 所以请给我一个指导。 在这里,我创建了一个observable,它可能会在subscribe方法中引发异常
return Observable.create(new ObservableOnSubscribe<Project>() {
@Override
public void subscribe(@NonNull ObservableEmitter<Project> e) throws Exception {
e.onNext(projectRepository.readDetails(project.getId()));
e.onComplete();
}
});
而且我找不到任何方法来处理subscibe()方法中抛出的异常,观察者的onError()将不会收到任何通知
谢谢。手动创建可观察对象时,您必须捕获任何异常并手动将其传递给
onError()
:
return Observable.create(new ObservableOnSubscribe<Project>() {
@Override
public void subscribe(@NonNull ObservableEmitter<Project> e) throws Exception {
try {
e.onNext(projectRepository.readDetails(project.getId()));
e.onComplete();
}
catch (Exception ex) {
e.onError(ex);
}
}
});
Observable.fromCallable(() -> projectRepository.readDetails(project.getId()));
如果调用失败,这将发出信号onError()
Observable.fromCallable(() -> projectRepository.readDetails(project.getId()));