Когда я запускаю код, вывод будет следующим:
(а) Тест (а = 100)
(b) ошибка здесь - java.lang.NullPointerException
В текущем выводе всякий раз, когда второй элемент выдает исключение, обработка потока прекращается. Но я хочу обработать третий объект, как эти
(а) Тест (а = 100)
(b) ошибка здесь {} java.lang.NullPointerException
(с) Тест (а = 200)
public class Test {
Integer a;
public Integer getA() {
return a * 10;
}
public static void main(String[] args) {
Test test = new Test(10);
Test test2 = new Test(null); //this object throws exception when it enters flowable
Test test3 = new Test(20);
List<Test> strings = Arrays.asList(test, test2, test3);
Flowable.fromCallable(() -> strings)
.flatMap(s -> Flowable.fromIterable(s)
.flatMap(a -> {
System.out.println(a);
return Flowable.just(a);
})
.onErrorResumeNext(r -> {
System.out.println("error here " + r);
return Flowable.empty();
})
)
.onErrorResumeNext(s -> {
return Flowable.empty();
})
.subscribe();
}`
}
Я пробовал вышеуказанный подход, но он не работает.