#11 Goで学ぶエラーハンドリングの基本

Goのエラーハンドリングは、他の言語のような「例外」を使わず、エラーを戻り値として扱うという明確な考え方が特徴です。この記事では、Goにおけるエラーハンドリングの基本を解説します。

エラーを戻り値として返す

以前の記事でも触れた通り、Goの関数はエラーを戻り値として返すのが基本です。

func divide(a int, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("0では割れません") } return a / b, nil }

if文でエラーを確認する

関数を呼び出した後は、必ずエラーが返ってきていないかを確認する書き方が定番です。

result, err := divide(10, 0) if err != nil { fmt.Println("エラー:", err) return } fmt.Println("結果:", result)

panicという最終手段

Goには、プログラムを強制的に停止させる`panic`という仕組みもありますが、これは通常のエラー処理には使わず、回復不可能な致命的な問題が起きたときの最終手段として位置づけられています。

Goならではの注意点

「if err != nil」という書き方が何度も登場するのは、Goのコードの見た目の特徴でもあります。冗長に感じるかもしれませんが、エラーの可能性を毎回明示的に確認するという、Goの安全性への考え方の表れです。

まとめ

Goのエラーハンドリングはエラーを戻り値として扱い、`if err != nil`で確認するのが基本です。`panic`はあくまで最終手段として使いましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Goをもっと学びたい方には「Go言語入門」がおすすめです。

コメント

このブログの人気の投稿

#11 Rustで学ぶエラーハンドリングの基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本

#19 Goで学ぶテスト(単体テスト)の基本