Junior — Middle
Можете ли објаснити шта је група грешака и како се она користи у надгледању или обради изузетака?
sobes.tech АИ
Одговор од АИ
Grupa grešaka (error group) je struktura koja omogućava objedinjavanje više grešaka u jednu, radi lakšeg rukovanja i vraćanja. U Go jeziku, ovo je korisno kada je potrebno izvršiti više operacija paralelno i sakupiti sve nastale greške u jedan objekat.
Primer korišćenja error group iz paketa golang.org/x/sync/errgroup:
import (
"fmt"
"golang.org/x/sync/errgroup"
)
func process() error {
var g errgroup.Group
g.Go(func() error {
// prva zadatak
return nil
})
g.Go(func() error {
// druga zadatak
return fmt.Errorf("greška u drugom zadatku")
})
// Čekamo da se svi zadaci završe i dobijamo prvu grešku, ako postoji
if err := g.Wait(); err != nil {
return err
}
return nil
}
Na ovaj način, error group pomaže da se lako agregiraju greške iz više gorutina i pojednostavljuje njihovo rukovanje.