Skip to content

2.x: Why ObservableFromCallable logic differs from FlowableFromCallable when error occurs #6156

Closed

Description

@suribada

Currently I see source codes RxJava 2.2.0

        try {
            value = ObjectHelper.requireNonNull(callable.call(), "Callable returned null");
        } catch (Throwable e) {
            Exceptions.throwIfFatal(e);
            if (!d.isDisposed()) {
                s.onError(e);
            } else {
                RxJavaPlugins.onError(e);
            }
            return;
        }

In ObserableFromCallable, if error ocurrs and alreadly disposed, common error handler is used..
But FlowableFromCallable, this logic differs.

        try {
            t = ObjectHelper.requireNonNull(callable.call(), "The callable returned a null value");
        } catch (Throwable ex) {
            Exceptions.throwIfFatal(ex);
            s.onError(ex);
            return;
        }

In my opinion, it seems that there lacks consistency, but are there reasons?

Activity

  1. changed the title [-]Why ObservableFromCallable logic differs from FlowableFromCreate when error ocuurs[/-] [+]Why ObservableFromCallable logic differs from FlowableFromCreate when error occurs[/+] on Aug 13, 2018
  2. changed the title [-]Why ObservableFromCallable logic differs from FlowableFromCreate when error occurs[/-] [+]2.X: Why ObservableFromCallable logic differs from FlowableFromCreate when error occurs[/+] on Aug 13, 2018
  3. changed the title [-]2.X: Why ObservableFromCallable logic differs from FlowableFromCreate when error occurs[/-] [+]2.x: Why ObservableFromCallable logic differs from FlowableFromCreate when error occurs[/+] on Aug 13, 2018
  4. changed the title [-]2.x: Why ObservableFromCallable logic differs from FlowableFromCreate when error occurs[/-] [+]2.x: Why ObservableFromCallable logic differs from FlowableFromCallable when error occurs[/+] on Aug 13, 2018
  5. added this to the 2.2 backlog milestone on Aug 13, 2018
  6. akarnokd commented on Aug 13, 2018

    @akarnokd
    Member

    Probably just an inconsistency left behind from the early days. PR welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions