Sobes.tech
Junior — Middle

Ako je v jazyku Go implementované spracovanie chýb, podobne ako mechanizmus výnimiek v iných programovacích jazykoch?

sobes.tech AI

Odpoveď od AI

V jazyku Go je spracovanie chýb implementované pomocou návratových hodnôt, nie výnimiek, ako je to v mnohých iných jazykoch. Funkcie a metódy zvyčajne vracajú dve hodnoty: výsledok a chybu (error). Ak chyba nie je nil, znamená to, že došlo k chybe a je potrebné ju spracovať.

Príklad spracovania chyby v Go:

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("delenie nulou")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Chyba:", err)
        return
    }
    fmt.Println("Výsledok:", result)
}

Týmto spôsobom v jazyku Go neexistuje konštrukcia try-catch; namiesto toho sú chyby explicitne prenášané a kontrolované, čo prispieva k jasnejšiemu a kontrolovanejšiemu riadeniu chýb.