Sobes.tech
Junior — Middle

Cum este implementată gestionarea erorilor în limbajul Go, similar cu mecanismul de excepții din alte limbaje de programare?

sobes.tech AI

Răspuns de la AI

În limbajul Go, gestionarea erorilor se realizează prin valori de întoarcere, nu prin excepții, ca în multe alte limbaje. Funcțiile și metodele returnează de obicei două valori: rezultatul și eroarea (error). Dacă eroarea nu este nil, înseamnă că a avut loc o eroare și trebuie gestionată.

Exemplu de gestionare a erorilor în Go:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("împărțire la zero")
    }
    return a / b, nil
}

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

Astfel, în Go nu există construcția try-catch; în schimb, erorile sunt transmise și verificate explicit, ceea ce favorizează o gestionare a erorilor mai clară și controlată.