Internal Server Error

GoでWeb API書いてる時に、システム内部のエラーだったりで詳細をそのままユーザーに返さないもの、例えば(*sql.DB).Execとかでもいいんだけどそういうのをどう扱うか悩んでる。

  • どうせhttp.Handlerはpanic起こったらInternal server error返すようみたいな作りにするだろうし、モデルっぽいところでpanicしてしまう。
  • http.Handler内でエラーを比較してって必要なものだけ詳細を返す、マッチしなかったらログ吐いて、serveInternalServerError(http.ResponseWriter, *http.Response)みたいなのに渡す。