Поток< T>.ошибка конструктор
- @Since("2.5")
- Объект ошибка,
- [StackTrace? стекОтслеживания]
Создаёт поток, который испускает одно событие об ошибке до завершения.
Этот поток испускает одно событие об ошибке error и stackTrace и затем завершается событием завершения.
Пример:
Future<void> tryThings(Stream<int> data) async {
try {
await for (var x in data) {
print('Data: $x');
}
} catch (e) {
print(e);
}
}
tryThings(Stream<int>.error('Error')); // prints "Error". Возвращаемый поток фактически эквивалентен потоку, созданному Future<T>.error(error, stackTrace).asStream(), или (() async* { throw error; } ()), за исключением того, что вы также можете управлять стеком отслеживания.
Реализация
@Since("2.5")
factory Stream.error(Object error, [StackTrace? stackTrace]) {
// TODO(40614): Remove once non-nullability is sound.
checkNotNullable(error, "error");
return (_AsyncStreamController<T>(null, null, null, null)
.._addError(error, stackTrace ?? AsyncError.defaultStackTrace(error))
.._closeUnchecked())
.stream;
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-async/Stream/Stream.error.html