ブックマーク / zenn.dev/ryo_yamaoka (1)

  • Goにおける複数エラーのハンドリング

    はじめに Goにはgoroutineにより並行処理を簡便に記述できるという特徴があります(簡便に正しく動かせるとは限らないですが)。 この時問題になるのがエラーハンドリングで実際のアプリケーション実装では大きく いずれかのgoroutineでエラーが発生したら他のgoroutineを中断したい 各goroutineの処理が終わるまで待機し、発生したエラーは個別に処理したい という要件がよく発生するかと思います。 これらを充足する処理を自前で実装することも勿論可能ですが、それぞれに適したライブラリがあるため記法のサンプルと共に紹介したいと思います。 errgroupが適したケース・使い方 Go公式の実験パッケージとして提供されているgolang.org/x/sync/errgroupでは主に単一のエラーをハンドリングすることに焦点を当てており標準のsyncパッケージに近い使い方、もしくはエラ

    Goにおける複数エラーのハンドリング
  • 1