はじめに Goのエラー処理 Goのエラー処理に何かライブラリを利用していますか? この質問はGo 1.0のリリースから10年以上経つ今でも、日本のGoコミュニティでよくされる質問です。筆者(tenntenn)もよく他社の方からされます。 pkg/errorsやgolang.org/x/xerrorsがデファクトスタンダードだった頃と比べ、近年(2025年)はあまりデファクトスタンダードと呼べるライブラリが無いのが現状です。 また、言語仕様やerrorsパッケージについても徐々にアップデートされてきました。Go 1.13でエラーのラップやerrors.Is、errors.Asがリリースされ、pkg/errorsが作ったエラーをラップする文化が標準にも導入されました。同様にGo 1.20でerrors.Joinが入り、hashicorp/go-multierror や go.uber.org/

