
Manejo de errores
Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover
1¿Cuál es la interfaz utilizada para representar errores en Go?
¿Cuál es la interfaz utilizada para representar errores en Go?
Respuesta
La interfaz error es la interfaz predefinida en Go para representar condiciones de error. Contiene un único método Error() que devuelve una cadena que describe el error. El valor nil representa la ausencia de error. Es la interfaz convencional utilizada por todos los paquetes de la biblioteca estándar y por los desarrolladores Go para señalar y propagar errores.
2¿Cómo crear un error simple con un mensaje estático en Go?
¿Cómo crear un error simple con un mensaje estático en Go?
Respuesta
La función errors.New() del paquete errors permite crear un error simple con un mensaje estático. Devuelve un tipo error que implementa la interfaz error con el mensaje proporcionado. Este enfoque se recomienda para crear errores sentinel (errores predefinidos como os.ErrNotExist) o errores simples sin contexto dinámico. Para mensajes dinámicos, usar fmt.Errorf().
3¿Qué función permite crear un error con un mensaje formateado dinámicamente?
¿Qué función permite crear un error con un mensaje formateado dinámicamente?
Respuesta
La función fmt.Errorf() permite crear un error con un mensaje formateado dinámicamente usando verbos de formato (como %s, %d, %v). También admite el verbo especial %w para envolver un error existente, preservando así la cadena de errores para una inspección posterior. Es el método recomendado para agregar contexto a los errores conservando el error original.
¿Qué verbo de formato permite envolver un error con fmt.Errorf()?
¿Qué función comprueba si un error envuelto coincide con un error específico?
+17 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis