ошибок в Flutter? Меня учили, что правильным паттерном является пробрасывать все ошибки на самый верхний уровень приложения. Но во флаттере это не работает. Ошибки build() конечно можно глобально ловить с помощью ErrorWidget, но ошибки в обработчиках кнопок как прикажете ловить? А ошибки в изолятах? Ведь ошибку мало поймать - ее еще нужно и на экран вывести. А куда выводить? Снэкбаром? Диалогом? Сейчас пришел к решению, что ошибки все же нужно трэить в месте их возникновения, и пробрасывать в стейт-менеджер. У меня flutter_bloc, и все экземпляры стейта содержат флаги bool waiting и String error. Может я велосипед изобретаю, и есть какое-то красивое общее решение?
stack_trace
Bloc Observe ФП freezed (изобретать велосипед ) dartz =>try/catch не нужны , и все что во фьче onError в одну часть ... Да и ловить ошибки/исключения , лучше ближе к источнику ... Условно сразу при получении/попытке получить дату от сервера
Зы:Для перехвата ошибок union удобен,
очень удобно использовать пакет этот
Непонятно. Эйза, Юнион - это по сути вкусовщина, не многим лучше простого catch(e). Главное - где обрабатывать и куда выводить.
Да вкусоыщина. Это инструмент, применять , имхо удобнее логичнее ...ну вы поняли где . А так да, вкусрвщина )))))
Ну у вас если. С try catch вернётся FutureOr, а с union, Future<Result<T>>get result; result. when (error (_)=>,success(_)=>.
Как ты учил дарт и флаттер?
Книга + апи. Да первое, возможно покажется стыдно, ибо и в доке есть все. Но так быстрее)
Flutter in actuon
Хорошая книга?
Пришёл к решению, что обработку ошибок лучше делать в блоке так проще их обрабатывать через try ну и дальше можно emit с выводом на экран (снек бар или диалог)
Зачем плодить сущность? Какой профит?
В зависимости от типа исключения , можно себе флаг поставить, что бы в бэнграунде ещё раз запрос отправить ))
Обсуждают сегодня