Как продолжить обработку следующих исключений для следующего фрагмента кода?

Когда я запускаю код, вывод будет следующим

(А) Тест (а = 100)

(б) ошибка здесь - java.lang.NullPointerException

В текущем выводе всякий раз, когда второй элемент выдает исключение, текущая обработка прекращается. Но я хочу обработать третий объект, как эти

(А) Тест (а = 100)

(б) ошибка здесь {} 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();
    }`
}

Я попробовал выше подход, но не работает.

0 ответов

Другие вопросы по тегам