Sobes.tech
Junior — Middle

Koje vrste izuzetaka ili grešaka mogu biti obrađene u jeziku Go?

sobes.tech АИ

Одговор од АИ

U jeziku Go ne postoji tradicionalni sistem izuzetaka, kao u nekim drugim jezicima. Umesto toga, greške se obrađuju pomoću vrednosti koje funkcije vraćaju tipa error.

Glavni načini obrade grešaka u Go:

  • Vraćanje greške iz funkcije: funkcija vraća vrednost i grešku, koje je potrebno proveriti.
  • Panic (panic) i oporavak (recover): koriste se za obradu kritičnih grešaka koje obično dovode do zaustavljanja programa, ali ih je moguće uhvatiti.

Primer obrade greške:

func readFile(filename string) ([]byte, error) {
    data, err := os.ReadFile(filename)
    if err != nil {
        return nil, err
    }
    return data, nil
}

func main() {
    data, err := readFile("file.txt")
    if err != nil {
        fmt.Println("Greška pri čitanju fajla:", err)
        return
    }
    fmt.Println(string(data))
}

Na ovaj način, u Go-u se greške koje funkcije vraćaju obrađuju, a ne izuzeci u klasičnom smislu.