essa questão dos erros do Go, veio para nos ensinar o jeito certo de tratar erro, coisa que erramos a vida toda, no meu caso as camadas mais internas sempre retorna o erro e todos os erros sao tratatos de fato na camada service, pq ai posso verificar se é um erro mesmo que ai eu mando para o Rollbar ou pode ser um erro esperado, que pode mudar a regra de negócio. Ao trabalhar com Go, eu tenho a impressão que cada detalhe foi muito bem pensado, o erro é apenas um deles, mas tudo foi muito bem pensado, impressionante o Go, estou feliz demais trabalhando com ele
Seria interessante uma forma de identificar o erro sem ser via o texto, por exemplo, um método que pode retornar diversos tipos de erro, então seria necessário uma forma de verificação do tipo do erro, se foi do HTTP, se foi na hora de fazer o parse do corpo da resposta, considerando que a regra de negócio do sistema precise de um tratamento diferente para cada "grupo" de erro
Parabéns pelo canal. Muito bom. Queria aprender a fazer uma rest api com BD, validação, autenticação e resto. Conheces algum tutorial com esta informação? Não encontro nada na net. Vídeo ou texto. Obrigado.
Existem alguns padrões para melhorar o error handling na linguagem. Essa é a pior maneira de tratar erros com Go. Uma delas é envelopar um pânico numa mônada e utilizar recover. Você consegue o mesmo comportamento de um try catch. Então sim, tem como fazer melhor 😂
Wesley, parabéns pelo conteúdo. Seria certo afirmar que o panic em Go seria equivalente ao die() do PHP que interrompe a execução? Sim, estou ciente que o panic não é tão simplista e não deve ser usado somente para "encerrar" a execução, e só para uma associação. kkk
O problema é que "Exceções" NÃO necessariamente são "erros". Dai o nome exceções. Agora, imagine se eu tenho um programa em go que eu fiz e aceita plugins, e o plugin de um terceiro também em go pó alguma exceção dá uma divisão por zero. O meu programa vai quebrar por um erro no plugin? Se eu tivesse um try ... Except para fazer a chamada ao plugin, só o plugin quebraria. Como resolvo isso em Golang?
essa questão dos erros do Go, veio para nos ensinar o jeito certo de tratar erro, coisa que erramos a vida toda, no meu caso as camadas mais internas sempre retorna o erro e todos os erros sao tratatos de fato na camada service, pq ai posso verificar se é um erro mesmo que ai eu mando para o Rollbar ou pode ser um erro esperado, que pode mudar a regra de negócio.
Ao trabalhar com Go, eu tenho a impressão que cada detalhe foi muito bem pensado, o erro é apenas um deles, mas tudo foi muito bem pensado, impressionante o Go, estou feliz demais trabalhando com ele
Está me ajudando muito 👍👍👍
Tem que pedir pra comentar também, o UA-cam também está usando a métrica com relação a interação dos visualizadores no espaço de comentários.
Seria interessante uma forma de identificar o erro sem ser via o texto, por exemplo, um método que pode retornar diversos tipos de erro, então seria necessário uma forma de verificação do tipo do erro, se foi do HTTP, se foi na hora de fazer o parse do corpo da resposta, considerando que a regra de negócio do sistema precise de um tratamento diferente para cada "grupo" de erro
Tá, mas e se eu quiser pegar um erro que possa estourar, como dividir por 0, por exemplo, não tem um catch que eu possa usar?
Parabéns pelo canal. Muito bom. Queria aprender a fazer uma rest api com BD, validação, autenticação e resto. Conheces algum tutorial com esta informação? Não encontro nada na net. Vídeo ou texto. Obrigado.
Parabéns, Wesley. Muito bem explicado.
Parabéns Wesley, mais um vídeo útil e excelente didática!
L
Existem alguns padrões para melhorar o error handling na linguagem. Essa é a pior maneira de tratar erros com Go. Uma delas é envelopar um pânico numa mônada e utilizar recover. Você consegue o mesmo comportamento de um try catch. Então sim, tem como fazer melhor 😂
Como fica isso em Go?
Ótimo conteúdo
Muito bom. GO é vida. No incio eu estranhei também, mas agora tá no sangue.
Assisto com frequência e você está de parabéns pelo conteúdo.
É comum nas implementações em Go utilizarem como na galera usava em VB 6 algo do tipo On Error goto Erro ?
Wesley, parabéns pelo conteúdo.
Seria certo afirmar que o panic em Go seria equivalente ao die() do PHP que interrompe a execução?
Sim, estou ciente que o panic não é tão simplista e não deve ser usado somente para "encerrar" a execução, e só para uma associação. kkk
O pânico é como uma exceção. Você só precisa tratar ele com recover se não quiser abortar a execução.
O problema é que "Exceções" NÃO necessariamente são "erros". Dai o nome exceções.
Agora, imagine se eu tenho um programa em go que eu fiz e aceita plugins, e o plugin de um terceiro também em go pó alguma exceção dá uma divisão por zero. O meu programa vai quebrar por um erro no plugin? Se eu tivesse um try ... Except para fazer a chamada ao plugin, só o plugin quebraria. Como resolvo isso em Golang?
Só verificar o erro com error.is() e você vai saber qual tipo é. Não perde tempo com esse vídeo aqui não. Muito mal elaborado.
Pensei que o vídeo iria passar um pattern pra melhorar o error handling. 😅
Revolucionário, parece PHP 4
😂
eu, honestamente, acho equivalente. Somente uma sintaxe diferente.