Junior — Middle
Știți ce sunt excepțiile (Exception) în limbajul Go?
sobes.tech AI
Răspuns de la AI
În limbajul Go, nu există excepții tradiționale (Exception), ca în Java sau Python. În schimb, Go folosește valori de întoarcere pentru gestionarea erorilor: funcția returnează o valoare de eroare (error), care trebuie verificată.
Cu toate acestea, în Go există un mecanism de panic (panic) și recuperare (recover), care poate fi considerat ca un echivalent al excepțiilor, dar este destinat pentru erori critice și nu trebuie folosit pentru gestionarea obișnuită a erorilor.
Exemplu de gestionare a erorilor în Go:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("împărțire la zero")
}
return a / b, nil
}
rezultat, err := divide(10, 0)
if err != nil {
fmt.Println("Eroare:", err)
} else {
fmt.Println("Rezultat:", rezultat)
}
Utilizarea panic/recover:
func mayPanic() {
panic("ceva a mers prost")
}
func main() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recuperat după panic:", r)
}
}()
mayPanic()
fmt.Println("Acest cod nu va fi executat")
}