Sobes.tech
Junior — Middle

¿Qué tipos de excepciones o errores se pueden manejar en el lenguaje Go?

sobes.tech AI

Respuesta de la IA

En el lenguaje Go no existe un sistema tradicional de excepciones, como en algunos otros lenguajes. En su lugar, los errores se manejan mediante valores de retorno del tipo error.

Las principales formas de manejar errores en Go:

  • Devolver un error desde una función: la función devuelve un valor y un error, que debe verificarse.
  • Pánico (panic) y recuperación (recover): se utilizan para manejar errores críticos que normalmente provocan la detención del programa, pero que pueden ser capturados.

Ejemplo de manejo de errores:

func readFile(filename string) ([]byte, error) {
    data, err := os.ReadFile(filename)
    if err != nil {
        return nil, err
    }
    return data, nil
}

func main() {
    data, err := readFile("file.txt")
    if err != nil {
        fmt.Println("Error al leer el archivo:", err)
        return
    }
    fmt.Println(string(data))
}

De esta manera, en Go se manejan errores devueltos por funciones, y no excepciones en el sentido clásico.