skillup

技術ブログ

プログラミング全般

ユーザーに見せるエラーメッセージに関する考察

投稿日:

プログラムで難しいことの3つは

  • テスト
  • ログ
  • エラーハンドリング

とかいてきましたが、ユーザー側に見せるエラーメッセージについて考察して見ました。

ログとエラーメッセージの違い

ログに出すようなメッセージを画面側に出してしまうことがあるのですが、ターゲットと用途が全く異なってきます。

ログ

ターゲット

システム開発者

目的・意図

システム内の異常を見ること

出すべき情報

Exceptionのエラーメッセージなどシステム内に関わるできるだけ詳細なメッセージや異常。

エラーメッセージ

ターゲット

一般ユーザ

目的・意図

不足している行動を知らせる(未入力の情報があるなど)、サポート側に問い合わせた時に鍵となる情報

出すべき情報

不足している行動や問い合わせた時に必要となるコード番号

ユーザに出す情報として必要な観点として、まずユーザー自身の行動を変えることができるかという点です。

画面内の未入力の情報などでしたら、意味がありますが、例えばDBの詳細なエラーを出したところでユーザーはシステム内の仕様を知らないし、変えることもできませんから意味がありません。

この場合、システム内のエラーになりますので、問い合わせてもらうしかないのですが、かといって「システムエラーが発生しています」だとサポートする側に回ると詳細な調査に時間がかかります。

この場合やはりエラーコードなどを仕込んで置いて「システムエラーです。エラーコードEX00012が発生しています。お問い合わせ先は・・・などとしておくのが一番無難でしょう。」

-プログラミング全般
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

オブジェクト指向設計 柔軟なインターフェイス

オブジェクト指向シリーズ。今回はインターフェイスについて。 インターフェイスといっても、implementsを使った実装だけではなく、要はあるクラスが外部の窓口となるときに使うメソッドってことだと思う …

no image

DIが役に立つ場面はやはりテスト

システム開発において、密結合とか疎結合なんて言葉が使われたりします。 密結合・・システム間の構成要素の関連性が高く、結びつきが密なこと 疎結合・・システム間の構成要素の関連性が弱く、結びつきが疎なこと …

no image

シェル基礎2

シェルコマンド使い始めて数年たちますが、いまだに知らないことはおおいですし、早く知っとけばよかった的なこともたくさんあります。 そんな小ネタ集を alias よく使うコマンドを別名で登録することができ …

no image

webの仕組み その2 リクエストとレスポンス

クライアント(ブラウザ)はサーバーとの接続を確立した後、各種リクエストを送信します。サーバーはそれにこたえテキストや画像などのリソースをクライアントに転送します(これがレスポンスです。) Firefo …

no image

変数の役割について

前回のエントリーの主眼は変数を置くことで、適切な情報量に分割し、コードを読みやすくしよう、ということでした。 今回はそれとは少し逆の観点でして、不要な変数を削除して、コードを読みやすくしよう、というこ …