理論上,最終用戶不應該看到內部錯誤。但實際上,理論和實踐有所不同。所以問題是向最終用戶展示什麼。現在,對於完全不懂技術的用戶,您希望儘可能少地展示(「點擊這裏提交bug報告」類型的東西),但對於更高級的用戶,他們會想知道是否存在如果它已經知道了一段時間,所以你想包括一些有關什麼是錯誤的信息。內部錯誤標記
經典方式做到這一點是或者與文件名斷言:行號或與同一堆棧跟蹤。現在這對開發者來說很好,因爲它指出了他在這個問題上的正確性。然而它對用戶有一些重大的缺點,特別是它非常神祕(例如不友好)並且代碼改變會改變錯誤信息(谷歌搜索錯誤只適用於該版本)。
我有我打算寫,我想解決這些問題的程序。我想要的是一種將唯一標識附加到每個斷言的方式,以便在斷言周圍編輯代碼不會改變它。 (例如,如果我將其剪切/粘貼到另一個文件,我希望顯示相同的信息)任何想法?
一個釘我想的是有錯誤的枚舉,但如何確保他們永遠不會在多個地方使用? (注意:對於這個問題,我是只能查看由編碼錯誤引起的錯誤,而不是合理地發生錯誤輸入的錯誤,OTOH這些錯誤可能對整個社區都有一定的意義。)
(注2:有問題的程序會在用戶的系統上運行的命令行應用程序,但再一次,這只是我的情況)
(注3:目標語言是D和I'm very willing潛入meta-programming。歡迎其他語言回答!)
(注意4:我明確地想要不使用實際的代碼位置,而是用錯誤的某種符號名稱。這是因爲如果代碼是在幾乎任何方式改變,代碼位置改變。)
好回落,但我寧願有這種錯誤打破構建或更快的反饋。 – BCS 2008-11-25 20:10:42