2008-09-22 69 views
12

我們正在更改舊的錯誤消息的一些文本。什麼是編寫好的錯誤消息(特別是Windows XP/Vista)的最佳實踐的一些資源。錯誤消息文本 - 最佳做法

+0

這將是很好的細節誰是你的觀衆:最終用戶?開發者? – rlerallut 2008-09-22 20:53:54

回答

1

始終包含對糾正錯誤的建議。

5

最終的最佳做法是首先防止用戶造成錯誤。

不要告訴用戶他們不關心的任何事情;錯誤代碼5064對任何人都不意味着什麼。不要告訴他們他們做錯了什麼;首先禁止它。不要責怪他們,特別是不要因爲你的軟件造成的錯誤。最重要的是,當出現問題時,告訴他們如何解決這個問題,以便他們可以繼續前進並完成一些工作。

+0

我認爲編寫錯誤消息與設計用戶界面對錯誤的反應並不完全相關。您可以在用戶不需要查看的地方記錄非常好的錯誤消息。 – 2008-09-22 19:53:37

1

試圖找出一種方法來編寫您的軟件,以糾正它們的問題。

0

對多語言的支持適用於各種消息,但在出現錯誤消息時往往會被遺忘。

0

我會不告訴用戶無用的深奧的信息,如數字錯誤代碼。但是我會遵循這一點,通過說絕對記錄這些信息以便通過技術上更精明的人進行故障排除。

1

對於任何用戶輸入(字符串,文件名,值等),始終用周圍的分隔符(引號,括號等)顯示錯誤的值。例如

您輸入的文件名找不到「somefile.txt」

這有助於表明可能已經潛入任何空格/回車並大大降低故障排除和無奈。

2

一個良好的錯誤消息應該:

  • 不顯眼(不藍屏或死亡的黃屏)
  • 給用戶方向糾正問題(對自己可能的話,或誰聯繫尋求幫助)
  • 隱藏無用的,深奧的程序員廢話(不要說,「45行上發生空引用異常」)
  • 是描述性而不是冗長的。只需要足夠的信息告訴用戶他們需要知道什麼,而沒有什麼更多。

我開始做的一件事就是生成一個唯一的編號,顯示在錯誤消息中並寫入日誌文件,以便在用戶向我發送屏幕截圖時找到日誌中的錯誤或打電話說:「我得到一個錯誤,它說我的參考號是0988-7634」

1
  1. 避免來自不同地方的相同錯誤消息;如果可能,請使用file:line參數化,或者使用其他上下文讓開發人員唯一標識錯誤發生的位置。
  2. 設計機制以實現輕鬆定位,特別是如果它是商業產品。
  3. 如果錯誤消息是用戶可見的,使它們完整,有意義的句子,不假設代碼的深入瞭解;記住,你總是太靠近問題 - 用戶不是。如果可能,請向用戶提供有關如何繼續,聯繫人等的指導。
  4. 如果可能,每個錯誤都應該有一條消息;如果不是這樣,那麼請嘗試確保所有錯誤展開路徑最終都會顯示一條錯誤消息,以說明發生的情況。

    我敢肯定,這裏會有其他很好的答案...
1

更短的消息實際上可能被讀取。

您的錯誤信息越長,用戶閱讀的次數越少。也就是說,嘗試重構代碼,以便在出現明顯響應時排除異常。嘗試僅發生基於超出用戶或代碼控制範圍的異常的異常。

最好的異常消息是你永遠不需要顯示的消息。

1

錯誤處理總是比錯誤報告更好,但因爲你是改裝的錯誤信息,而不一定這裏的代碼的一對夫婦的建議:

用戶希望的解決方案,而不是問題。即使信息與「請關閉當前窗口並重試您的操作」一樣簡單,請幫助他們知道發生錯誤後該怎麼辦。

我也是集中記錄錯誤的忠實粉絲。確保日誌既是人機的,也是電腦可掃描的。用戶並不總是讓你知道他們遇到了什麼問題,特別是如果他們可以'解決',所以日誌可以幫助你知道需要修復的東西。

如果你可以很容易地控制錯誤對話框,那麼有一個對話框顯示一個很好的,可讀的消息,並帶有一個'詳細信息'按鈕來顯示錯誤號,跟蹤等,這對於實時解決問題有很大幫助以及。

2

出於安全原因,請勿提供用戶不需要的內部系統信息。簡單示例:登錄失敗時,不要告訴用戶用戶名是否錯誤或密碼錯誤;這隻會幫助攻擊者蠻橫暴力系統。相反,只是說「用戶名/密碼組合是無效的」或類似的東西。