[英]Catch Exceptions when using Completable.blockingAwait()
我最近開始使用RxJava 2,並且想知道在調用Completable.blockingAwait()
時是否可以捕獲更具體的異常。
這就是我在做的事情:
try {
Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(@NonNull CompletableEmitter e) throws Exception {
e.onError(new IOException());
}
}).blockingAwait();
} catch (RuntimeException e) {
Throwable cause = e.getCause();
if(cause instanceof IOException) {
// Handle IOException
}
}
這就是我想做的事情:
try {
Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(@NonNull CompletableEmitter e) throws Exception {
e.onError(new IOException());
}
}).blockingAwait();
} catch (IOException e) {
// Handle IOException
}
有沒有可能使這項工作?
在鏈接的Javadoc中有幾行,有一個blockingGet
運算符,它返回一個Throwable
,你可以用以下方法對instanceof
進行檢查:
Throwable err = Completable.error(new IOException()).blockingGet();
if (err instanceof IOException) {
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.