Sobes.tech
Junior — Middle

Jaké typy výjimek nebo chyb lze v jazyce Go zpracovat?

sobes.tech AI

Odpověď od AI

V jazyce Go neexistuje tradiční systém výjimek, jako v některých jiných jazycích. Místo toho jsou chyby zpracovávány pomocí návratových hodnot typu error.

Hlavní způsoby zpracování chyb v Go:

  • Vrácení chyby z funkce: funkce vrací hodnotu a chybu, kterou je třeba zkontrolovat.
  • Panik (panic) a obnova (recover): používají se k řešení kritických chyb, které obvykle vedou k ukončení programu, ale mohou být zachyceny.

Příklad zpracování chyby:

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("Chyba při čtení souboru:", err)
        return
    }
    fmt.Println(string(data))
}

Tímto způsobem jsou v Go zpracovávány chyby vrácené funkcemi, nikoli výjimky v klasickém smyslu.