skillup

技術ブログ

プログラミング全般

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

投稿日:

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

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

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

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

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

ログ

ターゲット

システム開発者

目的・意図

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

出すべき情報

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

エラーメッセージ

ターゲット

一般ユーザ

目的・意図

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

出すべき情報

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

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

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

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

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

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

執筆者:


comment

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

関連記事

no image

トランザクション、ロールバックに関する考察

今までトランザクションの単位は基本的に処理の開始から終了までを範囲にすることが多かったのですが(ループがある場合はループ全体ではなく、1ループをトランザクションとみなします)、複数の処理が絡む場合、不 …

no image

アプリケーションアーキテクチャについて 〜ドメインモデルに関して〜

前回のトランザクションスクリプトパターンの反省から 今回はいわゆるドメインモデルの具体例に関して。 ドメイン駆動型設計には以下のような特徴があります。 大きく、アプリケーションの構成を以下のように分け …

no image

テストコードを読みやすくする

リーダブルコードも最終章に近づいてきましたね。 今回はテストコードについて。 以前のプロジェクトではテストコードを書いていたのですが、今携わっているプロジェクトでは書いてないです・・・ テストを書く目 …

no image

オブジェクト指向 プレゼンテーション層

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。 Contents1 プレゼンテーション層の考え方1.1 要点1. …

no image

トランザクショントークンについて

フォーム画面で入力を行うときにはPOSTでデータを受け取ってエラーチェックしたり、データベースに入力をしたりします。 ただその時に何も考えずに安易に送信→受信の際に以下のようなトラブルがあり得ます。 …