2012-08-08 33 views
1

我一直在考虑在当前支持的应用程序中合并错误代码,并且我有一些常规问题。在.NET中使用错误代码进行支持调用

我向所有使用代码倾斜的原因是因为我们发现在我们的应用至少有一个严重的问题是我们无法控制的以编程方式解决。这个问题非常罕见,但如果出现这种情况,可能会给用户造成严重的停机时间。要解决此问题,需要直接与熟悉问题的支持人员联系。

为了尽最大努力在应用程序中使用它,我们正在向Windows事件日志写入信息,以便将支持人员指向损坏的数据,并向用户显示通用的“请致电支持”提示。

我们想补充的错误代码,以便支持更快速地找到在事件查看器的特定错误。

所以,第一个问题:这是一个可以接受的方法,或者是有其他的想法,我还没有考虑过?其次,如果我们使用错误代码,在我们的解决方案中管理它们的最佳方式是什么?在每个项目中包含一个错误代码文件,并将不相交的整数组屏蔽掉(yuck)?创建一个专门用于保存错误代码的新项目(yuck)?

我从来没有一个好主意,错误代码是如何最好的管理,也没有两个项目,我对工作有任何干净的方式做到了。我宁愿避免它们,但如果我必须使用它们,我想知道什么效果最好。

+1

修正了这个错误,其他的都是100x难度。 – 2012-08-08 23:21:55

+0

这个错误不能由我们修复。问题在SQL Server复制的内部,并导致数据损坏。我们所能做的就是检测问题的结果。相信我,如果我认为我们可以简单地修复它,我会主张100%。 – Greenknight 2012-08-09 14:10:51

回答

1

错误代码只是作为一种方式来简洁地描述每个已知的可能的错误情况 - 作为确保本地化和中文低语不会混淆任何疑难解答过程的一种方式。

假设你对每一个错误条件都有一个唯一的人类可读的错误信息,那么你不需要维护一个错误代码的数据库,只需将它计算为规范的英文字符串的散列(我假设这是你的默认语言)。如果您添加本地化版本,那么请继续使用英文字符串作为摘要的基础。

当您收到一个高科技叫你只需要找到相匹配的哈希码,这是一件好事,它可以自动与实用程序(反射救援)来完成的字符串。

或者,保证显示给用户的所有异常被认为具有成为开发商的责任所需的错误代码构造函数的参数自己的异常子类封装。

+0

我喜欢使用散列码的想法...通常,所有错误代码都应该是唯一的,以便开发人员能够在源代码中查找。但是,这不会导致维护唯一字符串列表,而不是整数?如果是这样的话,那么......同样的问题。我们如何最好地管理字符串?总之,我的问题主要是关于**管理错误标识符。 – Greenknight 2012-08-09 14:17:13

+0

**或者** ...可能为特定问题(如您所建议的)创建自定义异常,并将异常的**名称**作为我们的错误代码进行散列。这样,我们就可以获得我们需要的可搜索性,但是我们不必在某个地方维护一个神秘数字的神秘列表。 – Greenknight 2012-08-09 14:48:47

相关问题