Go言語100Tips No.48

mizue
·

Go言語100Tips ありがちなミスを把握し、実装を最適化する の No.48を読んだ。ここから第7章 エラー管理。

No.48 はパニックの話。

Goでは、パニックは通常の制御の流れを止める組み込み機能である。パニックが発生すると、現在のゴルーチンがリターンするか、recoverでパニックが捕捉されるまで、パニックはコールスタックをさかのぼって行く。

パニックを使うと、アプリケーションを終了させるような例外的な状況となる。通常は、関数は error型を返し、適切にエラー管理するべきだ。

パニックを使うバターンとしては主に以下の2パターン

  1. プログラマーエラー

  2. アプリケーションが必須の依存関係の作成に失敗した場合

処理を続行させると危なくなるような場合以外は、panicは使わないようにしなければならない。

@mizue
Healthy Programmer