Tratamento de Erros no Flutter inspirado no Go?
Вставка
- Опубліковано 9 лис 2024
- Get UIKits for 10,000 free mins: bit.ly/3ToVHQd
Learn more about ZEGOCLOUD SDK: bit.ly/3Zgqkvb
How to Make a Flutter Video Call App: bit.ly/3ZlomJL
ZEGOCLOUD video call SDK &API allows you to easily build your video call apps within minutes.
Neste vídeo vamos explorar uma forma mais simples de controlar erros no Flutter usando Records e criando um tipo Error personalizado. A abordagem é inspirada na linguagem Go, conhecida por sua simplicidade. Esta é uma ideia alternativa e mais simples ao Result ou Either.
--------
💬 Servidor Discord: discord.flutte...
📺 Confira também as Playlists:
👉🏻 Flutter Tips: • Flutter Tips
👉🏻 Flutter na Prática: • Flutter na Prática
#flutter
#dev
#mobile
Opa, sou um programador de Go há 5 anos e de Flutter há uns 3 anos.. retornando o null fica muito mais parecido com a abordagem de Go. A coisa mais comum no go é checar justamente se o erro é diferente de nulo, se for a gente trata, se não segue o fluxo de sucesso normal. Abraços! Gostei bastante, vou começar a usar sempre. Só reforçando, no Go a gente sempre retorna o valor Null quando não tem erro (no caso nil) e por isso vou retornar null também nas minhas abordagens. Amei o vídeo!! Vou compartilhar pra todo mundo que trabalha comigo!
Gosto muito de usar esse estilo de tratamento do Go no Flutter, vale muito a pena. Uso bastante nas camadas do Service, quando for buscar dados em API`s.
Estoy de acuerdo, me parece muy útil, y es una alternativa al tipo opcional estoy muy agradecido
Cara eu fiz isso usando Records outro dia pra imitar o retorno múltiplo do Go. Tinha estudado Go uns 8 meses atrás e isso nunca saiu da cabeça. Fiquei até pensando que era besteira porque nunca vi ninguém fazer no Dart… Até agora só trouxe benefício.
É muito interessante essa abordagem. Eu uso uma classe de erro criada à mão. E as lógicas, para saber se houve falha ou não, seriam pelos atributos.
Cara estudei go por um tempo e sempre achei esse método de tratamento de erro muito intuitivo e organizado, ultimamente vinha tentando fazer usando records, que bom que eu não tava viajando kkkk
Mais um conteúdo excepcional, prof! Muito obrigado por compartilhar 🚀
Eu venho usando os records dessa forma tbm, é um otimo case pra trabalhar
Muito interessante esta informação... vai me ajudar bastante, professor! 🍎
Otimo vídeo!
Uma coisa que pode ser problemática é que o valor que não é erro nem sempre vai ter um default. No caso do vídeo como era um int faz sentido passar zero (default do go), mas numa classe sem construtor vazio pode dar dor de cabeça
Sim, neste caso pode criar um objeto Empty ou até criar um objeto Success... a ideia é pra ser simples mesmo.
Eu acabei fazendo esse tipo de implementação também, utilizando tipos nulos, mas não vi problemas em testar os tipos nulos e tal. Criando tipos não nulos também será necessário verificar o retorno do tipo exato deles, da quase no mesmo! O bom é que não é necessário nenhum package pra se utilizar o padrão.
Muito bom 👏
Sensacional Diego. 👏👏👏
up
Prof. Pelo que eu entendi, essa abordagem é válida para exceções explicitas, no caso de uma exceção genérica onde não sabemos a causa e que tenha caído no bloco catch(e){}. ainda vale a pena usar essa abordagem ?
Sim, precisa retornar o erro da mesma forma… na classe pode ate adicionar um objeto StackTrace se quiser ;)
O tratamento por try..catch continua sendo o ideal.
Façam o simples que não tem erro.
Tentei configurar o flutter crashlytics ios não deu certo, no android deu certo, vou tentar na semana comfigurar novamente e ver se para android ainda continua funcionando, para iOS pode verificar se mudou muita coisa agora com iOS 18? Fica como sugestão de vídeo
iOS 18 parece que gerou alguns problemas, provavelmente alguma falta de update do package... Mas não sei de detalhes ainda
@@drantunes esse tal de dSYM é complicado, estou batendo a cabeça
prefiro Result e Either