Goではどの場面ならpanicを使うことが適切なのか
回復不能で明らかな間違いなら panic すべきだと感覚は持っているけど、明らかな間違いとはどういった状況なのかをうまく表現できなかったが、
この記事中で
- Operational errors
- Programmer errors
の2つに分けて論じているのは分かりやすいと思った。前者はネットワーク切断や障害などコードが正しく記述されていても環境の問題によって発生が避けられないエラーを意味する。後者はゼロ除算や配列外アクセスなどコードが正しく記述されていれば起きないエラーを意味する。そうして、後者の場合でエラーが回避できない、または実行を継続する意味がない場合は panic してもいいとあった。