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.
Cadenas de texto y manipulación
Código
Selectores y mutexes: concurrencia y exclusión
Código
Agenda de contactos por consola
Proyecto
Composición de structs en lugar de herencia
Código
Estructuras de control
Puzzle
Arrays y slices
Puzzle
Control de flujo y estructuras de bucle
Código
Sistema API REST gestión de libros
Proyecto
Métodos con receptores por valor y por puntero
Código
API REST con net/http
Código
Generics
Código
Evaluación Go
Test
Métodos HTTP con net/http
Puzzle
Crear e invocar funciones
Código
Operadores y expresiones
Puzzle
Polimorfismo a través de Interfaces
Código
Manejo explícito de errores
Código
Estructuras structs
Código
Tipos de datos, variables y constantes
Código
Introducción a Go
Test
Canales y comunicación entre Goroutines
Código
Condiciones de carrera
Puzzle
Punteros y referencias
Código
Goroutines y concurrencia básica
Test
Instalación Go primer programa
Código
Estructuras de datos Mapas
Código
Cliente de API OpenWeatherMap clima
Proyecto
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