Sobes.tech
Junior — Middle

Que tipos de exceções ou erros podem ser tratados na linguagem Go?

sobes.tech IA

Resposta da IA

Na linguagem Go, não existe um sistema tradicional de exceções como em algumas outras linguagens. Em vez disso, os erros são tratados usando valores de retorno do tipo error.

As principais formas de lidar com erros em Go:

  • Retornar um erro de uma função: a função retorna um valor e um erro, que deve ser verificado.
  • Pânico (panic) e recuperação (recover): usados para lidar com erros críticos que normalmente levam à parada do programa, mas podem ser capturados.

Exemplo de tratamento de erro:

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("Erro ao ler o arquivo:", err)
        return
    }
    fmt.Println(string(data))
}

Dessa forma, em Go, erros retornados por funções são tratados, e não exceções no sentido clássico.