Sobes.tech
Junior — Middle

Jak je v jazyce Go implementována práce s chybami, podobně jako mechanismus výjimek v jiných programovacích jazycích?

sobes.tech AI

Odpověď od AI

V jazyce Go je zpracování chyb implementováno pomocí návratových hodnot, nikoli výjimek, jako je tomu v mnoha jiných jazycích. Funkce a metody obvykle vracejí dvě hodnoty: výsledek a chybu (error). Pokud chyba není nil, znamená to, že došlo k chybě a je třeba ji zpracovat.

Příklad zpracování chyby v Go:

package main

import (
    "errors"
    "fmt"
)

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

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

Tímto způsobem v jazyce Go neexistuje konstrukce try-catch, místo toho jsou chyby předávány a kontrolovány explicitně, což přispívá k jasnější a kontrolovanější správě chyb.