Sobes.tech
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.