Stream を返す関数を実装しています。エラー処理の実装方法がわかりません。ベスト プラクティスは何ですか?
Future を返す関数の場合、同期エラーをスローしないことがベスト プラクティスです。これは Stream を返す関数にも当てはまりますか?
これが私が考えていることの例です:
Stream<int> count() {
var controller = new StreamController<int>();
int i = 0;
try {
doSomethingThatMightThrow();
new Timer.repeating(new Duration(seconds: 1), () => controller.add(i++));
} on Exception catch (e) {
controller.addError(e);
controller.close();
}
return controller.stream;
}