Sobes.tech
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á")
}