我在Android平台上用Java进行编码,但这对特定的编程语言来说并不是一个真正的问题。
所以。。。如果我的程序中发生错误,我会在try-catch语句中捕获它,我想创建一个错误号,显示给用户,让他有机会向我发送这个错误号。
问题是,我想以这样一种方式对错误进行编码,即我得到一个小数字(假设最多5位数字),稍后我可以对其进行解码,并可以准确地找出错误发生在哪个类、哪个方法和哪个行号。
我想这更多的是一个密码学问题,所以有人对我应该如何做有什么想法吗?
编辑
我想给每个文件、每个方法一个数字,并以某种方式使用这些值来创建错误号,但我不确定如何计算实际错误号,以便它能以另一种方式工作(正确解码)。
我会说,这是一种可怕的调试问题的方法。您要做的是设置一个枚举,该枚举指示错误代码+描述。这将类似于微软的
ERROR_SUCCESS
0 (0x0)
The operation completed successfully
等等。这样,你就可以向用户发布这些内容,从而(在某种程度上)减少收到的电子邮件/投诉量。混淆堆栈跟踪对您来说将是一场噩梦,因为您似乎将自己锁定在一个无法管理的报告系统中。随着代码库的增长和/或添加更多的自定义异常,您将很快破坏您的设计。此外,这是一个强大的模糊安全案例,其中有人可能会对您的流程进行逆向工程,并开始编写针对您的恶意代码。
更好的方法:
获得一个JIRA帐户,在那里更精通技术的用户可以发布错误和描述。我相信FogBugz也有这个功能,你可以上传这些类型的东西,它允许用户裁剪图像,专注于你想要的东西。