Sobes.tech
Junior — Middle

Aké typy výnimiek alebo chýb je možné spracovať v jazyku Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go neexistuje tradičný systém výnimiek, ako v niektorých iných jazykoch. Namiesto toho sa chyby spracúvajú pomocou návratových hodnôt typu error.

Hlavné spôsoby spracovania chýb v Go:

  • Vrátenie chyby z funkcie: funkcia vráti hodnotu a chybu, ktorú je potrebné skontrolovať.
  • Panik (panic) a obnova (recover): používajú sa na spracovanie kritických chýb, ktoré zvyčajne vedú k ukončeniu programu, ale môžu byť zachytené.

Príklad spracovania 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 pri čítaní súboru:", err)
        return
    }
    fmt.Println(string(data))
}

Týmto spôsobom sa v Go spracúvajú chyby, ktoré funkcie vracajú, nie výnimky v klasickom zmysle.