Wie verwende ich Observable.fromCallable () mit einer aktivierten Ausnahme?

Observable.fromCallable() eignet sich hervorragend zum Konvertieren einer einzelnen Funktion in eine Observable. Aber wie gehen Sie mit überprüften Ausnahmen um, die von der Funktion ausgelöst werden könnten?

Die meisten Beispiele, die ich gesehen habe, verwenden Lambdas und "funktionieren einfach". Aber wie würdest du das ohne Lambdas machen? Siehe zum Beispiel das folgende Zitat vondieser großartige Artikel:

Observable.fromCallable(() -> downloadFileFromNetwork());

Es ist jetzt ein Einzeiler! Es behandelt geprüfte Ausnahmen, keine seltsamen Observable.just () und Observable.error () mehr, um die Ausführung von Code zu verzögern!

Wenn ich versuche, Observable ohne Lambda-Ausdruck zu implementieren, basierend auf anderen Beispielen, die ich gesehen habe, und wie Android Studio automatisch vervollständigt wird, erhalte ich Folgendes:

Observable.fromCallable(new Func0<File>() {
    @Override
    public File call() {
        return downloadFileFromNetwork();
    }
}

Doch wenndownloadFileFromNetwork() löst eine aktivierte Ausnahme aus, ich muss sie abfangen und in ein @ einwickeRuntimeException. Es muss einen besseren Weg geben! Wie unterstützt das obige Lambda das?!?!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage