Sobes.tech
Junior — Middle

Como é implementado o tratamento de erros na linguagem Go, de forma semelhante ao mecanismo de exceções em outras linguagens de programação?

sobes.tech IA

Resposta da IA

Na linguagem Go, o tratamento de erros é implementado através de valores de retorno, e não por exceções, como em muitas outras linguagens. As funções e métodos geralmente retornam dois valores: o resultado e o erro (error). Se o erro não for nil, significa que ocorreu um erro e ele deve ser tratado.

Exemplo de tratamento de erro em Go:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("divisão por zero")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Erro:", err)
        return
    }
    fmt.Println("Resultado:", result)
}

Assim, em Go, não há uma construção try-catch, ao invés disso, os erros são passados e verificados explicitamente, o que promove uma gestão de erros mais clara e controlada.