Description
Hello to everyone.
I would like to propose a change on the RxJava API, in order to avoid crashes of application's that have not properly implemented onError in the defined Subscribers.
Actually a real case scenario, happened the other day at Droidcon Berlin's 2016 App. The onError method was not implemented and on the case that anyone opened the application while being offline, the application itself would crash just because it produced an error that was not able to be propagated anywhere because there was not any onError method available.
This granted and knowing that this is a mistake that most if not all engineers would stumble upon at least once when they start with RxJava, I think that there should be a pattern of fail-very-early for this case.
It is completely understandable, that this is a Developer's/Engineer's mistake and wrong implementation, but it does not clearly set a restriction or does not force at all, anyone who uses a .subscribe() on an Observable, to implement the .onError() method.
So if you do not happen to write tests, which is not the common case scenario, and you also do not happen to stumble upon an Error that throws an Exception, you might possibly if not 100% ship an application that would crash in the future just because your subscription is missing the .onError() method.
I will be very glad to discuss it and read the different opinions on this issue :)