Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je skupina chýb a ako sa používa pri monitorovaní alebo spracovaní výnimiek?

sobes.tech AI

Odpoveď od AI

Skupina chýb (error group) je štruktúra, ktorá umožňuje spojiť viacero chýb do jednej, aby sa s nimi ľahšie pracovalo a ich vrátenie bolo jednoduchšie. V jazyku Go je to užitočné, keď je potrebné vykonať niekoľko operácií paralelne a zhromaždiť všetky vzniknuté chyby do jedného objektu.

Príklad použitia error group z balíka golang.org/x/sync/errgroup:

import (
    "fmt"
    "golang.org/x/sync/errgroup"
)

func process() error {
    var g errgroup.Group

    g.Go(func() error {
        // prvá úloha
        return nil
    })

    g.Go(func() error {
        // druhá úloha
        return fmt.Errorf("chyba v druhej úlohe")
    })

    // Čakáme na dokončenie všetkých úloh a získavame prvú chybu, ak existuje
    if err := g.Wait(); err != nil {
        return err
    }
    return nil
}

Týmto spôsobom error group pomáha pohodlne agregovať chyby z viacerých gorútín a zjednodušuje ich spracovanie.