Sobes.tech
Junior — Middle

Мо метавонед шарҳи кунед, ки гурӯҳи хато чист ва чӣ гуна дар назорат ё коркарди истисноҳо истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

Гурӯҳи хато (error group) — структураест, ки имкон медиҳад, ки чанд хато дар якҷоягӣ ҷамъоварӣ шаванд, то онҳоро ба осонӣ идора кардан ва баргардондан мумкин шавад. Дар Go, ин барои иҷрои чанд амалиёт дар параллел ва ҷамъоварии ҳамаи хатоҳои пайдошуда дар як объект муфид аст.

Масалан, истифодаи гурӯҳи хатоҳо аз баста golang.org/x/sync/errgroup:

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

func process() error {
    var g errgroup.Group

    g.Go(func() error {
        // вазифаи аввал
        return nil
    })

    g.Go(func() error {
        // вазифаи дуввум
        return fmt.Errorf("хато дар вазифаи дуввум")
    })

    // интизор мешавем, ки ҳамаи вазифаҳо ба анҷом расанд ва аввалин хато гирифта шавад, агар вуҷуд дошта бошад
    if err := g.Wait(); err != nil {
        return err
    }
    return nil
}

Ин тариқ, гурӯҳи хатоҳо кӯмак мекунад, ки хатоҳо аз чанд goroutine-ҳо ба осонӣ ҷамъоварӣ шаванд ва идоракунии онҳоро содда гардонад.