Junior — Middle
Czy możesz wyjaśnić, czym jest grupa błędów i jak jest używana w monitorowaniu lub obsłudze wyjątków?
sobes.tech AI
Odpowiedź od AI
Grupa błędów (error group) to struktura, która pozwala łączyć kilka błędów w jeden, aby ułatwić ich obsługę i zwracanie. W Go jest to przydatne, gdy trzeba wykonać kilka operacji równolegle i zebrać wszystkie występujące błędy w jednym obiekcie.
Przykład użycia grupy błędów z pakietu golang.org/x/sync/errgroup:
import (
"fmt"
"golang.org/x/sync/errgroup"
)
func process() error {
var g errgroup.Group
g.Go(func() error {
// pierwsze zadanie
return nil
})
g.Go(func() error {
// drugie zadanie
return fmt.Errorf("błąd w drugim zadaniu")
})
// Czekaj na zakończenie wszystkich zadań i pobierz pierwszy błąd, jeśli istnieje
if err := g.Wait(); err != nil {
return err
}
return nil
}
W ten sposób, grupa błędów pomaga wygodnie agregować błędy z kilku goroutine i upraszcza ich obsługę.