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
}
По този начин, групата грешки помага удобно да се агрегира грешките от няколко горутини и да се улесни тяхната обработка.