我想知道我應該如何在我的web應用程序中處理最終用戶可見的錯誤消息。錯誤消息中有多少信息給普通用戶?
您在 錯誤消息中給出了多少信息?
你重定向的所有錯誤, 不分類型,一個常見的錯誤 頁面,或者你有一小部分的網頁(404,403,所有其他人)?
你給錯誤代碼,用戶 可以參考/給你,只有 你明白嗎?
你給任何技術細節?
正如我所說,我的用戶是非技術性的常規喬夥計。
我想知道我應該如何在我的web應用程序中處理最終用戶可見的錯誤消息。錯誤消息中有多少信息給普通用戶?
您在 錯誤消息中給出了多少信息?
你重定向的所有錯誤, 不分類型,一個常見的錯誤 頁面,或者你有一小部分的網頁(404,403,所有其他人)?
你給錯誤代碼,用戶 可以參考/給你,只有 你明白嗎?
你給任何技術細節?
正如我所說,我的用戶是非技術性的常規喬夥計。
向用戶顯示一個不錯的錯誤,爲自己記錄一個詳細錯誤。
我儘量做到以下幾點:
考慮安全性+1! – TrueWill 2009-09-18 01:41:17
一般來說,我試圖給用戶儘可能多的信息來幫助他們自己解決問題。例如,對於404的情況,您可能希望讓他們知道要仔細檢查他們正在查找的URL是否正確。
它們顯然不需要堆棧跟蹤等,但它對於您在某處進行診斷和調試時記錄該級別的細節是有意義的。
致命錯誤,讓他們短暫的,所以他們可以重複他們通過電話或電子郵件:無法連接到數據庫等
非致命錯誤,完全描述的條件:錯誤,不能在沒有發票日期的情況下保存發票。
我也總是記錄一切,函數的參數以及可能使用的任何內部值。
我試圖向用戶顯示足夠的信息,他們知道這是他們需要告訴某人的問題,但儘量避免向他們展示這些信息讓他們感到恐慌!
如果可能的話,錯誤信息應該告訴他們什麼是失敗的,例如他們的保存是否失敗,或者保存正常,但之後刷新屏幕有問題。額外的錯誤信息(例如堆棧跟蹤)應記錄在某處,無需用戶將其發送給您。
當談到爲最終用戶顯示錯誤時,我發現顯示錯誤代碼是一個好習慣(所以我和管理員知道它是什麼錯誤),典型的「操作錯誤,請聯繫管理員」
對於可能導致用戶操作的常見錯誤提供更多信息可能會更好。但通常太多的信息會嚇倒或混淆用戶。
Web應用程序的錯誤消息,應始終(在 至少)是回答這些問題的3(按順序):
發生了什麼?
爲什麼發生?
可以做些什麼呢? 「:蘋果桌面界面人機界面指南」
我已經從蘋果公司的 使用了很多年,原本。 Newer version。 Microsoft已有similar guidelines。
這也使得容易寫他們 - 這種結構 方法使得它更快地把它們寫爲一個可以只 回答問題。
錯誤消息也應該是特定的。任何信息 Web應用程序知道和用戶可能 需要解決該問題應該在錯誤信息中。 (臭名昭着的)錯誤消息「發生錯誤。」簡直是 不可接受。
可選:更多的技術信息,用戶可能不知道 明白可以放在最後。但它應該標記爲 。
無,只需顯示給出一個參考號碼,以便用戶可以提供給您,並且您可以檢查應用程序日誌中的詳細信息(顯然您需要保留一份錯誤日誌的副本)。
通常,您的Web應用程序框架將爲您處理這些問題。你在用什麼框架? – 2009-09-17 21:29:17
@ S.Lott,假設他正在使用框架,正在使用的框架可能會做「錯誤」。我敢打賭,沒有任何框架能夠正確處理所有事情,即使您的框架提供了錯誤處理等功能,也很好問。 – strager 2009-09-17 21:36:05
@ S.Lott:我正在使用ASP.NET MVC。 – Alex 2009-09-17 21:39:01