skillup

技術ブログ

プログラミング全般

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

投稿日:

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

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

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

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

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

ログ

ターゲット

システム開発者

目的・意図

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

出すべき情報

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

エラーメッセージ

ターゲット

一般ユーザ

目的・意図

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

出すべき情報

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

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

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

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

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

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

執筆者:


comment

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

関連記事

no image

OSコマンドインジェクション

Contents1 OSコマンドインジェクションとは?2 被害3 対策4 参考リンク OSコマンドインジェクションとは? OSに対する命令文を不正に紛れ込ませて攻撃させる手法。 被害 サーバー内のファ …

no image

画面の制御フローなど

複雑な帳票系アプリではよくあると思うのですが、ある入力値が複数の場所から影響を受けており、制御がなかなか難しいときなどがあります。 例として クリアボタンなどでクリアされる 他のプルダウンなどで影響を …

no image

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

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

no image

命名規則について

リーダブルコードシリーズ第2段、名称について。 コードにおいては名称がとても大切で、正しい命名づけなどはなかなか難しいです。 以下に大事で重要だと思ったポイントを。 Contents1 具体的でわかり …

no image

バッチスクリプトで気をつけたい点

実務でバッチ処理を作る際に気をつけるべきと思ったこと。 基本的にエラーをいかに捉えていかにログに吐くかを最初に考える。まずはエラーありき。失敗するもの、想定した値がこない、あるいは値がないを前提として …