Junior — Middle
Está ciente do que são exceções (Exception) na linguagem Go?
sobes.tech IA
Resposta da IA
Na linguagem Go, não existem exceções tradicionais, como em Java ou Python. Em vez disso, o Go usa valores de retorno para lidar com erros: a função retorna um valor de erro (error), que deve ser verificado.
No entanto, no Go há um mecanismo de pânico (panic) e recuperação (recover), que pode ser considerado um análogo às exceções, mas é destinado a erros críticos e não deve ser usado para o tratamento normal de erros.
Exemplo de tratamento de erro em Go:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("divisão por zero")
}
return a / b, nil
}
resultado, err := divide(10, 0)
if err != nil {
fmt.Println("Erro:", err)
} else {
fmt.Println("Resultado:", resultado)
}
Uso de panic/recover:
func mayPanic() {
panic("algo deu errado")
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recuperado após o pânico:", r)
}
}()
mayPanic()
fmt.Println("Este código não será executado")
}