Ejercicio de programación con Go: Errores personalizados y trazabilidad
Código
0h 30m
GoLang GO: reto sobre implementar errores personalizados y trazabilidad en el procesamiento de órdenes, asegurando un manejo eficaz de excepciones en tus aplicaciones.
Desarrolla un programa en Go que simule el proceso de autenticación de un usuario. Debes implementar lo siguiente:
Error personalizado:
- Crea un tipo de error personalizado llamado
ErrorAutenticacion
que incluya un mensaje de error y el nombre de usuario que causó el fallo. - Implementa el método
Error()
para que satisfaga la interfazerror
.
Función de autenticación:
- Implementa una función
Autenticar(usuario, contraseña string) error
que simule la autenticación de un usuario. - Si el nombre de usuario es
"admin"
y la contraseña es"1234"
, la autenticación es exitosa. - Si la autenticación falla, devuelve un
ErrorAutenticacion
con un mensaje adecuado y el nombre de usuario.
Envolvimiento de errores:
- En la función
Autenticar
, si ocurre un error, envuélvelo utilizandofmt.Errorf
y el formateador%w
, añadiendo contexto al error.
Manejo de errores en **main**
:
- En la función
main
, llama aAutenticar
con diferentes credenciales para probar ambos casos: autenticación exitosa y fallida. - Maneja el error utilizando
errors.As
para detectar si el error es de tipoErrorAutenticacion
. - Si se detecta un
ErrorAutenticacion
, muestra un mensaje en la salida indicando que ocurrió un error de autenticación y especificando el nombre de usuario. - Si ocurre otro tipo de error, muestra un mensaje genérico de error.
Nota: Asegúrate de utilizar buenas prácticas de manejo de errores y de mantener la trazabilidad de los errores según lo aprendido en la lección.
Todos los ejercicios de programación de Go
Evalúa tus conocimientos con ejercicios de programación en Go de tipo Test, Puzzle, Código y Proyecto con VSCode.
Control de flujo y estructuras de bucle
Código
Tipos de datos, variables y constantes
Código
Composición de structs en lugar de herencia
Código
Estructuras de control
Puzzle
Arrays y slices
Puzzle
Operadores y expresiones
Puzzle
Instalación Go primer programa
Código
Sistema API REST gestión de libros
Proyecto
Polimorfismo a través de Interfaces
Código
Canales y comunicación entre Goroutines
Código
Goroutines y concurrencia básica
Test
Agenda de contactos por consola
Proyecto
Métodos HTTP con net/http
Puzzle
Métodos con receptores por valor y por puntero
Código
Evaluación Go
Test
Crear e invocar funciones
Código
Estructuras structs
Código
Introducción a Go
Test
Estructuras de datos Mapas
Código
Certificados de superación de Go
Supera todos los retos de Go y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.
Tutorial para resolver este ejercicio de programación
Go
Errores personalizados y trazabilidad
Manejo de errores y excepciones