Go言語100Tips ありがちなミスを把握し、実装を最適化する の No.48を読んだ。ここから第7章 エラー管理。
No.48 はパニックの話。
Goでは、パニックは通常の制御の流れを止める組み込み機能である。パニックが発生すると、現在のゴルーチンがリターンするか、recoverでパニックが捕捉されるまで、パニックはコールスタックをさかのぼって行く。
パニックを使うと、アプリケーションを終了させるような例外的な状況となる。通常は、関数は error型を返し、適切にエラー管理するべきだ。
パニックを使うバターンとしては主に以下の2パターン
プログラマーエラー
アプリケーションが必須の依存関係の作成に失敗した場合
処理を続行させると危なくなるような場合以外は、panicは使わないようにしなければならない。