Dev Study
Go コース

70. エラー処理の実践 — 早期 return とラップ

Go では関数が error を最後の戻り値として返し、呼び出し側が if err != nil { return err } で逐一確認するのが基本様式です。エラーのときは早めに return して抜ける「早期 return」を徹底すると、正常系の処理が深くネストせず、まっすぐ読めるコードになります。

エラーには文脈を足して上位へ伝えると原因を追いやすくなります。fmt.Errorf("... : %w", err) の %w で元のエラーをラップでき、受け取った側は errors.Is で特定のエラーか、errors.As で特定の型かを判定できます。errors.New や fmt.Errorf で新しいエラーを作れます。

下の例では割り算でゼロ除算をエラーにし、呼び出し側で文脈を付けてラップします。入力が固定なので、出力は毎回同じです。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

Go
公式ドキュメントで詳しく ↗