2012-07-10 32 views
0

我在Android平臺上使用Java進行編碼,但這對於特定的編程語言並不是真正的問題。從堆棧跟蹤中創建錯誤號

所以...如果在我的程序中發生錯誤,我會在try-catch語句中捕獲它,並且我想創建一個錯誤號,我將顯示給用戶,讓他有機會發送給我這個錯誤號碼。

問題是,我想以這樣一種方式編碼錯誤,我得到一個小數字(假設最多5位數字),我稍後可以解碼並可以準確找出哪些類,在哪種方法和哪個行號發生了錯誤。

我猜這是更多的密碼問題,所以有人有任何想法,我應該怎麼做呢?

編輯

我確實想給一個數字,每一個文件,每一個方法並以某種方式使用這些值來創建錯誤的數字,但我不知道如何計算實際的錯誤數量,以便它會以其他方式工作(正確解碼)。

+0

如果您需要幫助,您需要發佈代碼。作爲用戶,我討厭的一件事是「錯誤代碼」,因爲他們不告訴我任何事情,並且使我不得不聯繫某人,以便解決我可能解決自己的問題。 – 2012-07-10 10:53:31

+0

沒有真正可以粘貼的代碼。當我捕獲try-catch語句中的錯誤後,返回的對象是一個向量StackTrace,從中我可以獲取發生錯誤的方法名稱,類,行號。從這一點開始,我需要使用這些來計算我的錯誤編號。而已。 – AndreiBogdan 2012-07-10 10:55:38

+1

爲什麼不給你自己一個堆棧跟蹤,只是要求用戶許可這樣做? – Rafal 2012-07-10 10:58:21

回答

1

我會說,這是一個調試問題的可怕方法。你想要做的是設置一個枚舉,指定錯誤代碼+描述。這將類似於如何微軟does it

ERROR_SUCCESS 

    0 (0x0) 

    The operation completed successfully 

等等等等。通過這種方式,您可以將這些內容發佈給用戶,這樣可以減少您獲得的電子郵件/投訴數量(某種程度上)。混淆堆棧跟蹤對您而言將是一場噩夢,因爲您似乎將自己鎖定在無法管理的報告系統中。隨着代碼庫的增長和/或添加更多自定義異常,您將很快破壞設計。此外,這是一個強烈的安全隱患案例,其中有人可能會逆向工程,並開始編寫惡意代碼。

更好的方法:

得到一個JIRA帳戶,更精通技術的用戶可以張貼錯誤加描述。我相信FogBugz也有這種功能,您可以在其中上傳這些類型的東西,並允許用戶裁剪圖像,專注於您正在尋找的內容。