Блок тогда нужно создавать к статическую зависимость, чтобы иметь к нему доступ. По крайней мере у меня доступ к такому блоку осуществлялся через get_it
Ну то есть у тебя как раз контекст и не знает скоуп блока И ты в него пихаешь контекст Идеально
Не совсем так. Блок создавался до runApp, когда и регистрировались зависимости. Связи с контекстом там не было
Почему так сделано ? Чаще всего с таким сталкиваюсь ,когда нет навигатора 2.0 в проекте
Последнее время все зависимости типа репозиторий храню глобально в get_it потому что так удобней. В опен сорс проекте в который подглядываю делают также. Строки локализации там, например, хранят так же, глобально. Потому что пробросить их в конструктор того же Exception будет невозможно, ведь репозиториям нет дела до контекста
А зачем в репозиторий отдавать ошибки текстовые ,которые нужны пользователю ,а не тебе для отладки
Глобализм как парадигма?
Как раз там текст ошибки, который отображается пользователю
Никогда не задумывался почему флаттер как раз в коробке создали тебе контекст и почему коробочная локализация тоже на нем?
А логи для тебя откуда берутся ?
Мы с блоком работаем, все возникшие ошибки доставляются в BlocObserver и там логируются
И логируются твои ошибки для пользователя
И без стека)
Ну я к этому и веду )
Никто не совершенен, у меня получилась такая реализация и её хватает для корректной обработки и выявления неисправностей. Есть идеи как сделать лучше с удовольствием выслушаю
Я тебе написал как сделать Ты ловишь в блоке ,мобиксе , риверподе Ошибку и показываешь пользователю ,и тут же отдаешь в лог
не класть message в Exception, а доставать его только на UI слое из локализации по типу
Обсуждают сегодня