错误消息的查找结构

时间:2009-05-29 16:10:43

标签: c# data-structures

我需要将库中的结果字符串转换为异常。每个字符串都有一个数字结果代码,后跟一个管道字符,然后是其他特定于代码的数据。我正在考虑使用带有ResultCode属性的自定义异常,并存储由结果代码键入的消息字符串的查找表,我将在抛出异常之前使用消息信息数组进行格式化。存储这个int-string值表的好方法是什么?

2 个答案:

答案 0 :(得分:1)

如果您需要存储已有的这些字符串,则应使用简单的Dictionary<int,string>,其中errorcode是键,字符串是值。

如果您自己键入字符串,则应考虑使用Resources文件。

答案 1 :(得分:1)

如果用于决定引发哪个错误的数据从未在单个类之外使用,那么最佳方法是actually hard code the decision。这就是应用程序编程的全部内容,与系统或框架编程相比。我没有想象自己是一个完美的商业编程框架的神圣提供者,我认识到有时候,我的代码只会在我开发它的一个地方使用。

因此,我为这个问题开发了两个候选解决方案: 1.建议的字符串(代码)字典作为各种异常类型的键,在构造函数中初始化;要么 2.中等大小的“switch”语句,与上面的构造函数具有相同的硬编码。

在单一使用场景中,很可能在应用程序的生命周期内保持单一使用,上述任何一种都不仅仅是可接受的解决方案;它是一种经济高效的基于YAGNI的解决方案,可以让我为实际需要注意的问题投入更多精力。