山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

エラーコード

システムベンダーの人はなぜかエラーコードに

こだわります。

実に不思議です。

エラーコードというのはネットワークエラーが

何番でデータベース異常が何番、というような

自分で作るシステムのエラーに番号を付けることです。


長年運用していますがエラーコードが役に立った

ことはあまりありません。

本番稼働中になんらか予期しないエラーが起こった

とき、一番困るのは何も手がかりがない場合です。

PHPだとそういう場合がよくありました。

そういう場合は手がかりをどこかに出力する仕組みを

作らないと困ると思います。


一方Javaだとエラーコードだけ出してExceptionを捨てて

しまっていると、ある程度原因は絞られるものの

特定するには至らず苦労します。

ローカルで再現させてステップ実行させてようやくわかる

という具合です。

しかしエラーコードなどなくてもスタックトレース

あるとたいがいの場合すぐに特定できます。

したがってスタックトレースを出すことが最も重要と

考えています。


エラーコードを出すために変な複雑な仕組みはいりません。

なんかエンジニアの性でそういうところ凝りたく

なっちゃうんですかね。

本当に運用に役に立つ仕組みなら歓迎ですが、たいがいの

場合、複雑なわりに役に立たないのが困りものです。