@@ -205,14 +205,14 @@ public Subscription subscribe(Observer<T> observer) {
205
205
} catch (OnErrorNotImplementedException e ) {
206
206
// special handling when onError is not implemented ... we just rethrow
207
207
throw e ;
208
- } catch (Exception e ) {
208
+ } catch (Throwable e ) {
209
209
// if an unhandled error occurs executing the onSubscribe we will propagate it
210
210
try {
211
211
observer .onError (hook .onSubscribeError (this , e ));
212
212
} catch (OnErrorNotImplementedException e2 ) {
213
213
// special handling when onError is not implemented ... we just rethrow
214
214
throw e2 ;
215
- } catch (Exception e2 ) {
215
+ } catch (Throwable e2 ) {
216
216
// if this happens it means the onError itself failed (perhaps an invalid function implementation)
217
217
// so we are unable to propagate the error correctly and will just throw
218
218
RuntimeException r = new RuntimeException ("Error occurred attempting to subscribe [" + e .getMessage () + "] and then again while trying to pass to onError." , e2 );
@@ -295,7 +295,7 @@ public void onCompleted() {
295
295
}
296
296
297
297
@ Override
298
- public void onError (Exception e ) {
298
+ public void onError (Throwable e ) {
299
299
handleError (e );
300
300
Object onError = callbacks .get ("onError" );
301
301
if (onError != null ) {
@@ -344,7 +344,7 @@ public void onCompleted() {
344
344
}
345
345
346
346
@ Override
347
- public void onError (Exception e ) {
347
+ public void onError (Throwable e ) {
348
348
handleError (e );
349
349
throw new OnErrorNotImplementedException (e );
350
350
}
@@ -379,7 +379,7 @@ public void onCompleted() {
379
379
}
380
380
381
381
@ Override
382
- public void onError (Exception e ) {
382
+ public void onError (Throwable e ) {
383
383
handleError (e );
384
384
throw new OnErrorNotImplementedException (e );
385
385
}
@@ -421,7 +421,7 @@ public void onCompleted() {
421
421
}
422
422
423
423
@ Override
424
- public void onError (Exception e ) {
424
+ public void onError (Throwable e ) {
425
425
handleError (e );
426
426
Functions .from (onError ).call (e );
427
427
}
@@ -438,7 +438,7 @@ public Subscription subscribe(final Object onNext, final Object onError, Schedul
438
438
return subscribeOn (scheduler ).subscribe (onNext , onError );
439
439
}
440
440
441
- public Subscription subscribe (final Action1 <T > onNext , final Action1 <Exception > onError ) {
441
+ public Subscription subscribe (final Action1 <T > onNext , final Action1 <Throwable > onError ) {
442
442
if (onNext == null ) {
443
443
throw new IllegalArgumentException ("onNext can not be null" );
444
444
}
@@ -459,7 +459,7 @@ public void onCompleted() {
459
459
}
460
460
461
461
@ Override
462
- public void onError (Exception e ) {
462
+ public void onError (Throwable e ) {
463
463
handleError (e );
464
464
onError .call (e );
465
465
}
@@ -472,7 +472,7 @@ public void onNext(T args) {
472
472
});
473
473
}
474
474
475
- public Subscription subscribe (final Action1 <T > onNext , final Action1 <Exception > onError , Scheduler scheduler ) {
475
+ public Subscription subscribe (final Action1 <T > onNext , final Action1 <Throwable > onError , Scheduler scheduler ) {
476
476
return subscribeOn (scheduler ).subscribe (onNext , onError );
477
477
}
478
478
@@ -504,7 +504,7 @@ public void onCompleted() {
504
504
}
505
505
506
506
@ Override
507
- public void onError (Exception e ) {
507
+ public void onError (Throwable e ) {
508
508
handleError (e );
509
509
Functions .from (onError ).call (e );
510
510
}
@@ -521,7 +521,7 @@ public Subscription subscribe(final Object onNext, final Object onError, final O
521
521
return subscribeOn (scheduler ).subscribe (onNext , onError , onComplete );
522
522
}
523
523
524
- public Subscription subscribe (final Action1 <T > onNext , final Action1 <Exception > onError , final Action0 onComplete ) {
524
+ public Subscription subscribe (final Action1 <T > onNext , final Action1 <Throwable > onError , final Action0 onComplete ) {
525
525
if (onNext == null ) {
526
526
throw new IllegalArgumentException ("onNext can not be null" );
527
527
}
@@ -545,7 +545,7 @@ public void onCompleted() {
545
545
}
546
546
547
547
@ Override
548
- public void onError (Exception e ) {
548
+ public void onError (Throwable e ) {
549
549
handleError (e );
550
550
onError .call (e );
551
551
}
@@ -558,7 +558,7 @@ public void onNext(T args) {
558
558
});
559
559
}
560
560
561
- public Subscription subscribe (final Action1 <T > onNext , final Action1 <Exception > onError , final Action0 onComplete , Scheduler scheduler ) {
561
+ public Subscription subscribe (final Action1 <T > onNext , final Action1 <Throwable > onError , final Action0 onComplete , Scheduler scheduler ) {
562
562
return subscribeOn (scheduler ).subscribe (onNext , onError , onComplete );
563
563
}
564
564
@@ -583,7 +583,7 @@ public <R> ConnectableObservable<R> multicast(Subject<T, R> subject) {
583
583
*
584
584
* @param e
585
585
*/
586
- private void handleError (Exception e ) {
586
+ private void handleError (Throwable e ) {
587
587
// onError should be rare so we'll only fetch when needed
588
588
RxJavaPlugins .getInstance ().getErrorHandler ().handleError (e );
589
589
}
@@ -618,7 +618,7 @@ public Subscription call(Observer<T> t1) {
618
618
*/
619
619
private static class ThrowObservable <T > extends Observable <T > {
620
620
621
- public ThrowObservable (final Exception exception ) {
621
+ public ThrowObservable (final Throwable exception ) {
622
622
super (new Func1 <Observer <T >, Subscription >() {
623
623
624
624
/**
@@ -956,7 +956,7 @@ public static <T> Observable<T> empty() {
956
956
* @return an Observable that invokes the {@link Observer}'s
957
957
* {@link Observer#onError onError} method when the Observer subscribes to it
958
958
*/
959
- public static <T > Observable <T > error (Exception exception ) {
959
+ public static <T > Observable <T > error (Throwable exception ) {
960
960
return new ThrowObservable <T >(exception );
961
961
}
962
962
@@ -1767,7 +1767,7 @@ public static <T> Observable<T> never() {
1767
1767
* encounters an error
1768
1768
* @return an Observable, identical to the source Observable with its behavior modified as described
1769
1769
*/
1770
- public static <T > Observable <T > onErrorResumeNext (final Observable <T > that , final Func1 <Exception , Observable <T >> resumeFunction ) {
1770
+ public static <T > Observable <T > onErrorResumeNext (final Observable <T > that , final Func1 <Throwable , Observable <T >> resumeFunction ) {
1771
1771
return create (OperationOnErrorResumeNextViaFunction .onErrorResumeNextViaFunction (that , resumeFunction ));
1772
1772
}
1773
1773
@@ -1800,11 +1800,11 @@ public static <T> Observable<T> onErrorResumeNext(final Observable<T> that, fina
1800
1800
public static <T > Observable <T > onErrorResumeNext (final Observable <T > that , final Object resumeFunction ) {
1801
1801
@ SuppressWarnings ("rawtypes" )
1802
1802
final FuncN _f = Functions .from (resumeFunction );
1803
- return onErrorResumeNext (that , new Func1 <Exception , Observable <T >>() {
1803
+ return onErrorResumeNext (that , new Func1 <Throwable , Observable <T >>() {
1804
1804
1805
1805
@ SuppressWarnings ("unchecked" )
1806
1806
@ Override
1807
- public Observable <T > call (Exception e ) {
1807
+ public Observable <T > call (Throwable e ) {
1808
1808
return (Observable <T >) _f .call (e );
1809
1809
}
1810
1810
});
@@ -1866,7 +1866,7 @@ public static <T> Observable<T> onErrorResumeNext(final Observable<T> that, fina
1866
1866
* would otherwise cause it to invoke {@link Observer#onError onError}
1867
1867
* @return an Observable, identical to the source Observable with its behavior modified as described
1868
1868
*/
1869
- public static <T > Observable <T > onErrorReturn (final Observable <T > that , Func1 <Exception , T > resumeFunction ) {
1869
+ public static <T > Observable <T > onErrorReturn (final Observable <T > that , Func1 <Throwable , T > resumeFunction ) {
1870
1870
return create (OperationOnErrorReturn .onErrorReturn (that , resumeFunction ));
1871
1871
}
1872
1872
@@ -3537,7 +3537,7 @@ public Observable<T> observeOn(Scheduler scheduler) {
3537
3537
* @return an Observable that emits the items and notifications embedded in the
3538
3538
* {@link Notification} objects emitted by the source Observable
3539
3539
* @see <a href="http://msdn.microsoft.com/en-us/library/hh229047(v=vs.103).aspx">MSDN: Observable.dematerialize</a>
3540
- * @throws Exception
3540
+ * @throws Throwable
3541
3541
* if the source Observable is not of type {@code Observable<Notification<T>>}.
3542
3542
*/
3543
3543
@ SuppressWarnings ("unchecked" )
@@ -3571,7 +3571,7 @@ public <T2> Observable<T2> dematerialize() {
3571
3571
* encounters an error
3572
3572
* @return the original Observable, with appropriately modified behavior
3573
3573
*/
3574
- public Observable <T > onErrorResumeNext (final Func1 <Exception , Observable <T >> resumeFunction ) {
3574
+ public Observable <T > onErrorResumeNext (final Func1 <Throwable , Observable <T >> resumeFunction ) {
3575
3575
return onErrorResumeNext (this , resumeFunction );
3576
3576
}
3577
3577
@@ -3601,11 +3601,11 @@ public Observable<T> onErrorResumeNext(final Func1<Exception, Observable<T>> res
3601
3601
public Observable <T > onErrorResumeNext (final Object resumeFunction ) {
3602
3602
@ SuppressWarnings ("rawtypes" )
3603
3603
final FuncN _f = Functions .from (resumeFunction );
3604
- return onErrorResumeNext (this , new Func1 <Exception , Observable <T >>() {
3604
+ return onErrorResumeNext (this , new Func1 <Throwable , Observable <T >>() {
3605
3605
3606
3606
@ Override
3607
3607
@ SuppressWarnings ("unchecked" )
3608
- public Observable <T > call (Exception e ) {
3608
+ public Observable <T > call (Throwable e ) {
3609
3609
return (Observable <T >) _f .call (e );
3610
3610
}
3611
3611
});
@@ -3664,7 +3664,7 @@ public Observable<T> onErrorResumeNext(final Observable<T> resumeSequence) {
3664
3664
* Observable encounters an error
3665
3665
* @return the original Observable with appropriately modified behavior
3666
3666
*/
3667
- public Observable <T > onErrorReturn (Func1 <Exception , T > resumeFunction ) {
3667
+ public Observable <T > onErrorReturn (Func1 <Throwable , T > resumeFunction ) {
3668
3668
return onErrorReturn (this , resumeFunction );
3669
3669
}
3670
3670
@@ -3694,11 +3694,11 @@ public Observable<T> onErrorReturn(Func1<Exception, T> resumeFunction) {
3694
3694
public Observable <T > onErrorReturn (final Object resumeFunction ) {
3695
3695
@ SuppressWarnings ("rawtypes" )
3696
3696
final FuncN _f = Functions .from (resumeFunction );
3697
- return onErrorReturn (this , new Func1 <Exception , T >() {
3697
+ return onErrorReturn (this , new Func1 <Throwable , T >() {
3698
3698
3699
3699
@ Override
3700
3700
@ SuppressWarnings ("unchecked" )
3701
- public T call (Exception e ) {
3701
+ public T call (Throwable e ) {
3702
3702
return (T ) _f .call (e );
3703
3703
}
3704
3704
});
@@ -4376,7 +4376,7 @@ public Subscription call(Observer<String> Observer) {
4376
4376
verify (aObserver , times (1 )).onNext ("one" );
4377
4377
verify (aObserver , times (1 )).onNext ("two" );
4378
4378
verify (aObserver , times (1 )).onNext ("three" );
4379
- verify (aObserver , Mockito .never ()).onError (any (Exception .class ));
4379
+ verify (aObserver , Mockito .never ()).onError (any (Throwable .class ));
4380
4380
verify (aObserver , times (1 )).onCompleted ();
4381
4381
}
4382
4382
@@ -4453,7 +4453,7 @@ public void testMaterializeDematerializeChaining() {
4453
4453
4454
4454
verify (observer , times (1 )).onNext (1 );
4455
4455
verify (observer , times (1 )).onCompleted ();
4456
- verify (observer , times (0 )).onError (any (Exception .class ));
4456
+ verify (observer , times (0 )).onError (any (Throwable .class ));
4457
4457
}
4458
4458
4459
4459
/**
@@ -4467,7 +4467,7 @@ public void testMaterializeDematerializeChaining() {
4467
4467
public void testCustomObservableWithErrorInObserverAsynchronous () throws InterruptedException {
4468
4468
final CountDownLatch latch = new CountDownLatch (1 );
4469
4469
final AtomicInteger count = new AtomicInteger ();
4470
- final AtomicReference <Exception > error = new AtomicReference <Exception >();
4470
+ final AtomicReference <Throwable > error = new AtomicReference <Throwable >();
4471
4471
Observable .create (new Func1 <Observer <String >, Subscription >() {
4472
4472
4473
4473
@ Override
@@ -4499,7 +4499,7 @@ public void onCompleted() {
4499
4499
}
4500
4500
4501
4501
@ Override
4502
- public void onError (Exception e ) {
4502
+ public void onError (Throwable e ) {
4503
4503
error .set (e );
4504
4504
System .out .println ("error" );
4505
4505
e .printStackTrace ();
@@ -4533,7 +4533,7 @@ public void onNext(String v) {
4533
4533
@ Test
4534
4534
public void testCustomObservableWithErrorInObserverSynchronous () {
4535
4535
final AtomicInteger count = new AtomicInteger ();
4536
- final AtomicReference <Exception > error = new AtomicReference <Exception >();
4536
+ final AtomicReference <Throwable > error = new AtomicReference <Throwable >();
4537
4537
Observable .create (new Func1 <Observer <String >, Subscription >() {
4538
4538
4539
4539
@ Override
@@ -4553,7 +4553,7 @@ public void onCompleted() {
4553
4553
}
4554
4554
4555
4555
@ Override
4556
- public void onError (Exception e ) {
4556
+ public void onError (Throwable e ) {
4557
4557
error .set (e );
4558
4558
System .out .println ("error" );
4559
4559
e .printStackTrace ();
@@ -4584,7 +4584,7 @@ public void onNext(String v) {
4584
4584
@ Test
4585
4585
public void testCustomObservableWithErrorInObservableSynchronous () {
4586
4586
final AtomicInteger count = new AtomicInteger ();
4587
- final AtomicReference <Exception > error = new AtomicReference <Exception >();
4587
+ final AtomicReference <Throwable > error = new AtomicReference <Throwable >();
4588
4588
Observable .create (new Func1 <Observer <String >, Subscription >() {
4589
4589
4590
4590
@ Override
@@ -4601,7 +4601,7 @@ public void onCompleted() {
4601
4601
}
4602
4602
4603
4603
@ Override
4604
- public void onError (Exception e ) {
4604
+ public void onError (Throwable e ) {
4605
4605
error .set (e );
4606
4606
System .out .println ("error" );
4607
4607
e .printStackTrace ();
@@ -4803,7 +4803,7 @@ public void call(Object t1) {
4803
4803
4804
4804
});
4805
4805
fail ("expected exception" );
4806
- } catch (Exception e ) {
4806
+ } catch (Throwable e ) {
4807
4807
assertEquals ("failure" , e .getMessage ());
4808
4808
}
4809
4809
}
@@ -4822,7 +4822,7 @@ public void call(Object t1) {
4822
4822
@ Test
4823
4823
public void testErrorThrownWithoutErrorHandlerAsynchronous () throws InterruptedException {
4824
4824
final CountDownLatch latch = new CountDownLatch (1 );
4825
- final AtomicReference <Exception > exception = new AtomicReference <Exception >();
4825
+ final AtomicReference <Throwable > exception = new AtomicReference <Throwable >();
4826
4826
Observable .create (new Func1 <Observer <String >, Subscription >() {
4827
4827
4828
4828
@ Override
@@ -4833,7 +4833,7 @@ public Subscription call(final Observer<String> observer) {
4833
4833
public void run () {
4834
4834
try {
4835
4835
observer .onError (new RuntimeException ("failure" ));
4836
- } catch (Exception e ) {
4836
+ } catch (Throwable e ) {
4837
4837
// without an onError handler it has to just throw on whatever thread invokes it
4838
4838
exception .set (e );
4839
4839
}
0 commit comments