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.