Обработчик Observable.onError не мешает исключению убить приложение - PullRequest
0 голосов
/ 09 января 2019

ОБНОВЛЕНИЕ КОДА

Я устал от отладки этих ошибок без результата ? Кто-нибудь знает, что не так ???!?!?!

когда добавленный Stream генерирует нормальные события, он работает нормально, но при выдаче ошибки он обрабатывается методом onErorr, и возникает странная ошибка, как вы видите в StackTrace.

test("Testing the Stream", () async {

 final _categoriesInfosSubject = new PublishSubject<String>();
 var errorThrown = false;

 Observable<String>  categories$ = _categoriesInfosSubject.stream;
 categories$.listen(any, onError: (err){ print("ErrorHappened"); errorThrown = true;});

 await _categoriesInfosSubject.addStream(
  Observable.error(Error()),
 );
 await Future.delayed(Duration(seconds: 2), (){});
 expect(errorThrown , true);

});
ErrorHappened
dart:async                                              _Completer.completeError
package:rxdart/src/subjects/subject.dart 101:19         Subject.addStream. 
<fn>
===== asynchronous gap ===========================
dart:async                                              _StreamImpl.listen
package:rxdart/src/streams/error.dart 25:30             ErrorStream.listen
package:rxdart/src/observables/observable.dart 1729:20  Observable.listen
package:rxdart/src/subjects/subject.dart 94:12          Subject.addStream
test\home_screen\home_bloc.dart 77:35                   main.<fn>

Instance of 'Error'
...