
Tratamento de erros
Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover
1Qual é a interface utilizada para representar erros em Go?
Qual é a interface utilizada para representar erros em Go?
Resposta
A interface error é a interface predefinida em Go para representar condições de erro. Ela contém um único método Error() que retorna uma string descrevendo o erro. O valor nil representa a ausência de erro. É a interface convencional utilizada por todos os pacotes da biblioteca padrão e pelos desenvolvedores Go para sinalizar e propagar erros.
2Como criar um erro simples com uma mensagem estática em Go?
Como criar um erro simples com uma mensagem estática em Go?
Resposta
A função errors.New() do pacote errors permite criar um erro simples com uma mensagem estática. Ela retorna um tipo error que implementa a interface error com a mensagem fornecida. Essa abordagem é recomendada para criar erros sentinel (erros predefinidos como os.ErrNotExist) ou erros simples sem contexto dinâmico. Para mensagens dinâmicas, usar fmt.Errorf().
3Qual função permite criar um erro com uma mensagem formatada dinamicamente?
Qual função permite criar um erro com uma mensagem formatada dinamicamente?
Resposta
A função fmt.Errorf() permite criar um erro com uma mensagem formatada dinamicamente usando verbos de formatação (como %s, %d, %v). Ela também suporta o verbo especial %w para envolver um erro existente, preservando assim a cadeia de erros para inspeção posterior. É o método recomendado para adicionar contexto aos erros mantendo o erro original.
Qual verbo de formatação permite envolver um erro com fmt.Errorf()?
Qual função verifica se um erro envolvido corresponde a um erro específico?
+17 perguntas de entrevista
Outros temas de entrevista Go
Fundamentos de Go
Estruturas de dados em Go
Interfaces em Go
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificação JSON
Database/SQL
Pacote context
Testing
Padrões de concorrência
Primitivas de sincronização
Frameworks web Go
Design de API REST
gRPC
Reflection
Gerenciamento de memória
Otimização de desempenho
Generics
Go Design Patterns
Microservices
Segurança e autenticação
Docker & Containerization
Kubernetes Basics
Go Avançado
Desenvolvimento de CLI
Domine Go para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis