0

我在 Android 平台上使用 Java 进行编码,但这对于特定的编程语言来说并不是一个真正的问题。

所以......如果我的程序中发生错误,我会在 try-catch 语句中捕获它,并且我想创建一个错误号,我将显示给用户,让他有机会向我发送这个错误号。

问题是我想以这样的方式对错误进行编码,以便我得到一个小数字(比如说最多 5 位数字),我稍后可以解码,并且可以准确地找出哪个类,哪个方法和在发生错误的行号。

我猜这更像是一个密码学问题,所以有人对我应该如何做这件事有任何想法吗?

编辑

我正在考虑给每个文件,每个方法一个数字,并以某种方式使用这些值来创建错误号,但我不确定如何计算实际的错误号,以便它可以反过来工作(正确解码)。

4

1 回答 1

1

我会说,这是调试问题的可怕方法。您要做的是设置一个指示错误代码+描述的枚举。这类似于微软的做法

ERROR_SUCCESS

    0 (0x0)

    The operation completed successfully

等等等等。这样您就可以将这些内容发布给您的用户,从而减少您收到的电子邮件/投诉的数量(在某种程度上)。混淆堆栈跟踪对您来说将是一场噩梦,因为您似乎将自己锁定在一个无法管理的报告系统中。随着您的代码库增长和/或您添加更多自定义异常,您将很快破坏您的设计。此外,这是一个通过默默无闻实现安全的强有力案例,其中有人可能会对您的流程进行逆向工程并开始编写针对您的恶意代码。

更好的方法:

获取一个 JIRA 帐户,技术更精通的用户可以在其中发布错误和描述。我相信 FogBugz 也有这个功能,你可以上传这些类型的东西,它允许用户裁剪图像以专注于你正在寻找的东西。

于 2012-07-10T13:55:25.750 回答