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.