Junior — Middle
¿Está usted al tanto de qué son las excepciones (Exception) en el lenguaje Go?
sobes.tech AI
Respuesta de la IA
En el lenguaje Go no existen excepciones tradicionales, como en Java o Python. En su lugar, Go utiliza valores de retorno para manejar errores: la función devuelve un valor de error (error), que debe verificarse.
Sin embargo, en Go hay un mecanismo de pánico (panic) y recuperación (recover), que se puede considerar como un análogo a las excepciones, pero está destinado a errores críticos y no debe usarse para el manejo normal de errores.
Ejemplo de manejo de errores en Go:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("división por cero")
}
return a / b, nil
}
resultado, err := divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Resultado:", resultado)
}
Uso de panic/recover:
func mayPanic() {
panic("algo salió mal")
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recuperado después del pánico:", r)
}
}()
mayPanic()
fmt.Println("Este código no se ejecutará")
}