Как использовать Observable.fromCallable () с проверенным исключением?
Observable.fromCallable()
отлично подходит для преобразования одной функции в наблюдаемую. Но как вы обрабатываете проверенные исключения, которые могут быть вызваны функцией?
В большинстве примеров, которые я видел, используются лямбды и «просто работа». Но как бы вы сделали это без лямбд? Например, см. Цитату ниже изэта замечательная статья:
Observable.fromCallable(() -> downloadFileFromNetwork());
Теперь это одна строка! Он имеет дело с проверенными исключениями, не более странными Observable.just () и Observable.error () для такой простой вещи, как отложенное выполнение кода!
Когда я пытаюсь реализовать вышеприведенное Observable без лямбда-выражения, основываясь на других примерах, которые я видел, и на том, как Android Studio выполняет автозаполнение, я получаю следующее:
Observable.fromCallable(new Func0<File>() {
@Override
public File call() {
return downloadFileFromNetwork();
}
}
Но еслиdownloadFileFromNetwork()
выдает проверенное исключение, я должен попытаться поймать его и обернуть вRuntimeException
, Должен быть лучший способ! Как вышеупомянутая лямбда поддерживает это?!?!