Junior — Middle
El tudná magyarázni, mi az a hibacsoport, és hogyan használják megfigyelés vagy kivételkezelés során?
sobes.tech MI
Válasz az MI-től
Hiba csoport (error group) egy olyan struktúra, amely lehetővé teszi több hiba egyesítését egybe, hogy könnyebben kezelhessük és visszaadhassuk őket. Go nyelvben ez akkor hasznos, ha több műveletet párhuzamosan kell végrehajtani, és az összes felmerülő hibát egy objektumban szeretnénk összegyűjteni.
A golang.org/x/sync/errgroup csomagból származó error group használatának példája:
import (
"fmt"
"golang.org/x/sync/errgroup"
)
func process() error {
var g errgroup.Group
g.Go(func() error {
// első feladat
return nil
})
g.Go(func() error {
// második feladat
return fmt.Errorf("hiba a második feladatban")
})
// Várjuk, hogy minden feladat befejeződjön, és megkapjuk az első hibát, ha van
if err := g.Wait(); err != nil {
return err
}
return nil
}
Így a error group segít kényelmesen összegyűjteni több goroutine-ból származó hibákat, és egyszerűsíti azok kezelését.