Resumo

Concluído

Como você viu, o tratamento de erro e o registro em log no Go não são iguais a esses processos em outras linguagens de programação. Primeiro, a abordagem do Go ao tratamento de erro é simples. Você usa uma condição if, e a função que está chamando deve retornar vários valores. Por convenção, o último valor retornado é o erro. Se a variável de erro retornar nil, não haverá erro. Se o valor não for nil, haverá uma falha. Você pode propagar o erro até a pilha simplesmente retornando o erro novamente e pode incluir mais contexto se necessário.

Você pode criar variáveis de erro que pode reutilizar como valores retornados para mensagens de erro comuns em seus programas.

Você também precisa saber quando entrar em pane. Já abordamos como panic e recover funcionam. Essas funções devem ser usadas somente quando você precisa explicitamente que o programa seja interrompido. Pode haver ocasiões em que o programa deixará de responder mesmo se você estiver tratando erros corretamente. Mas isso deve ser uma exceção, e não a regra.

Por fim, exploramos como o registro em log funciona no Go e você viu como usar a biblioteca padrão. Além de imprimir logs no console, você pode enviar logs para um arquivo para processamento posterior e enviá-los para uma localização centralizada. Quando a base de código aumentar, talvez você precise fazer outras coisas, como definir os níveis de log ou configurar saídas diferentes. Essas tarefas não têm suporte na biblioteca padrão. Você precisará usar uma estrutura de registros, como o zerolog.

Este módulo é curto, mas certifique-se de que você entendeu bem os conceitos. Eles serão úteis quando você precisar solucionar problemas em seus programas.