Sobes.tech
Junior — Middle

Kako se u jeziku Go implementira obrada grešaka, slično mehanizmu izuzetaka u drugim programskim jezicima?

sobes.tech АИ

Одговор од АИ

U jeziku Go, rukovanje greškama implementirano je putem vraćenih vrednosti, a ne putem izuzetaka, kao u mnogim drugim jezicima. Funkcije i metode obično vraćaju dve vrednosti: rezultat i grešku (error). Ako greška nije nil, to znači da je došlo do greške i treba je obraditi.

Primer obrade greške u Go:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("deljenje nulom")
    }
    return a / b, nil
}

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

Na ovaj način, u Go jeziku ne postoji konstrukcija try-catch; umesto toga, greške se eksplicitno prenose i proveravaju, što doprinosi jasnijem i kontrolisanom upravljanju greškama.