我看到有人仅仅使用
目前,我在所有事件处理程序中都有try/catch块。如果出现任何错误,我就会发出
onError
进行调试。我认为可以使用它来发出新的状态,如emit(ErrorState(message: "An error"))
。但是随着bloc package的更新,我们应该使用提供给处理程序的emitters,并且不应直接使用专用函数emit
。目前,我在所有事件处理程序中都有try/catch块。如果出现任何错误,我就会发出
ErrorState
并显示一个小部件。这样做是否正确?这使得事件处理程序函数看起来很糟糕。我想知道自己是否做得正确,以及应该如何实际操作? void _startExercise(ExerciseStarted event, Emitter<ExerciseState> emit) async {
emit(ExerciseLoadingState());
try {
final something = await _repository.doSomething();
emit(ExerciseLoadedState(something: something));
} catch (e) {
log(e.toString());
emit(const ExerciseErrorState());
}
}