Sobes.tech
Junior — Middle

Milyen típusú kivételeket vagy hibákat lehet kezelni a Go nyelvben?

sobes.tech MI

Válasz az MI-től

A Go nyelvben nincs hagyományos kivételrendszer, mint néhány más nyelvben. Ehelyett a hibákat az error típusú visszatérési értékek segítségével kezelik.

A hibakezelés fő módszerei Go-ban:

  • Hiba visszaadása egy függvényből: a függvény értéket és hibát ad vissza, amelyeket ellenőrizni kell.
  • Pánik (panic) és helyreállítás (recover): ezeket kritikus hibák kezelésére használják, amelyek általában a program leállításához vezetnek, de elkapásuk lehetséges.

Hiba kezelési példa:

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("Hiba a fájl olvasásakor:", err)
        return
    }
    fmt.Println(string(data))
}

Így a Go-ban a függvények által visszaadott hibák kezelése történik, nem pedig a kivételek a hagyományos értelemben.