2012-07-10 34 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也有这种功能,您可以在其中上传这些类型的东西,并允许用户裁剪图像,专注于您正在寻找的内容。