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

КОМЕНТАРІ • 23

  • @software_engineer_business_man
    @software_engineer_business_man Місяць тому +5

    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!

  • @gabrielamat596
    @gabrielamat596 Місяць тому +7

    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.

  • @recopilacionparaprogramado8146
    @recopilacionparaprogramado8146 Місяць тому

    Estoy de acuerdo, me parece muy útil, y es una alternativa al tipo opcional estoy muy agradecido

  • @glrbrasil
    @glrbrasil Місяць тому +6

    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.

    • @mundoprogramado3106
      @mundoprogramado3106 Місяць тому

      É 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.

  • @joaopedrorafaelsantossilva5880
    @joaopedrorafaelsantossilva5880 Місяць тому

    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

  • @_renatoleal
    @_renatoleal Місяць тому

    Mais um conteúdo excepcional, prof! Muito obrigado por compartilhar 🚀

  • @allansrc
    @allansrc Місяць тому

    Eu venho usando os records dessa forma tbm, é um otimo case pra trabalhar

  • @alexbleiva
    @alexbleiva Місяць тому

    Muito interessante esta informação... vai me ajudar bastante, professor! 🍎

  • @ursochurrasqueira
    @ursochurrasqueira Місяць тому +1

    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

    • @drantunes
      @drantunes  Місяць тому +1

      Sim, neste caso pode criar um objeto Empty ou até criar um objeto Success... a ideia é pra ser simples mesmo.

  • @juninho_silva1676
    @juninho_silva1676 Місяць тому +1

    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.

  • @luizguilherme9650
    @luizguilherme9650 Місяць тому

    Muito bom 👏

  • @rogeriomq
    @rogeriomq Місяць тому

    Sensacional Diego. 👏👏👏

  • @VictorOnFlutter
    @VictorOnFlutter Місяць тому

    up

  • @RanulfoOliveira
    @RanulfoOliveira Місяць тому

    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 ?

    • @drantunes
      @drantunes  Місяць тому +1

      Sim, precisa retornar o erro da mesma forma… na classe pode ate adicionar um objeto StackTrace se quiser ;)

  • @charless.9139
    @charless.9139 Місяць тому +1

    O tratamento por try..catch continua sendo o ideal.
    Façam o simples que não tem erro.

  • @arozendojr
    @arozendojr Місяць тому

    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

    • @drantunes
      @drantunes  Місяць тому +1

      iOS 18 parece que gerou alguns problemas, provavelmente alguma falta de update do package... Mas não sei de detalhes ainda

    • @arozendojr
      @arozendojr Місяць тому

      @@drantunes esse tal de dSYM é complicado, estou batendo a cabeça

  • @igorsilva736
    @igorsilva736 Місяць тому +3

    prefiro Result e Either