Rx java RxJava如何从Observable.fromCallable()抛出错误

Rx java RxJava如何从Observable.fromCallable()抛出错误,rx-java,observable,throwable,Rx Java,Observable,Throwable,如果我使用: 第1类: Observable.fromCallable(() -> awsS3.beginUpload(data.bmpPath)); 类别2: public String beginUpload(String filePath) { //what if I want to throw error here? } 如何在beginUpload()方法中抛出一个可观察的错误?fromCallable接受一个Callable,它有一个call()抛出异常方法,因此,

如果我使用:

第1类:

Observable.fromCallable(() -> awsS3.beginUpload(data.bmpPath));
类别2:

public  String beginUpload(String filePath) {
   //what if I want to throw error here?
}

如何在beginUpload()方法中抛出一个可观察的错误?

fromCallable
接受一个
Callable
,它有一个
call()抛出异常
方法,因此,您可以将您的方法声明为
抛出X
,其中X是您需要抛出的异常类型:

public  String beginUpload(String filePath) throws IOException {
    throw new IOException();
}

因此,它将被捕获到Observable.subscribe(@Override public final void onError(Throwable e))?
fromCallable
捕获它并调用
Subscriber上的
onError()