Como o Golang Trata Erros
Introdução
- Palestrante: Wesley Willians
- Tema: Tratamento de erros no Golang
- Objetivo: Entender como o Golang trabalha com erros para criar aplicações mais resilientes.
Importância do Tratamento de Erros no Golang
- Erro como Cidadão de Primeira Classe: No Golang, erros são tratados como elementos centrais nas funções.
- Expressividade do Erro: A abordagem do Golang em relação aos erros muda a forma como os desenvolvedores programam no dia a dia.
Pedidos Iniciais
- Interação: Curtir o vídeo e se inscrever no canal para receber notificações de novos vídeos.
- Utilizar Playlist: Há uma playlist no canal dedicada ao Golang.
Diferença do Golang em Relação a Outras Linguagens
- Conceito de
try-catch
: Diferente de muitas linguagens que utilizam try-catch
para tratar erros de forma genérica.
- Tratamento Explícito de Erros: Em Golang, erros são retornados como valores adicionais em funções.
- Importância do Tratamento Granular: Cada erro deve ser tratado de forma específica e granular.
Estrutura das Funções em Golang
- Retorno de Vários Valores: Funções podem retornar múltiplos valores, incluindo um valor de erro.
- Padrão Comum: Retorno de resposta e erro (
response, err
).
- **Verificação de Erros: ** Usando
if err != nil
para tratar erros.
Exemplo Prático: Requisição HTTP
response, err := http.Get("http://google.com.br")
if err != nil {
log.Fatalf("Erro ao fazer comunicação: %v", err)
}
fmt.Println(response.Header)
- Caso de Erro: Mudança na URL para um domínio inexistente mostra como o erro é capturado.
Criando Funções com Retorno de Erro
Exemplo de Função de Soma
func soma(x int, y int) (int, error) {
if x + y > 10 {
return 0, errors.New("Total maior que 10")
}
return x + y, nil
}
Chamada da Função
resultado, err := soma(8, 3)
if err != nil {
log.Fatalf("Erro: %v", err)
}
fmt.Println(resultado)
Opção de Ignorar Erros
- Uso do “Blank Identifier”: Substituir a variável de erro por
_
para ignorar o erro.
_, err := soma(5, 7)
- Consequências: Ignorar erros pode levar a comportamentos inesperados.
Conclusão
- Tratar Erros é Essencial: Golang exige atenção especial ao tratamento de erros.
- Recomendação: Adaptar-se à abordagem do Golang ou considerar outra linguagem.
- Interação Final: Curtir e inscrever no canal.