【发布时间】:2008-09-22 18:16:41
【问题描述】:
我想知道在我的应用程序中处理错误消息的最佳方法是什么。
目前我正在开发一个 Web 应用程序,所有错误消息都存储在数据库中,我们通过 ID 获取它们,负数是错误,正数是成功消息。
问题是很难维护和跟踪短信。
你的方法是什么?
【问题讨论】:
我想知道在我的应用程序中处理错误消息的最佳方法是什么。
目前我正在开发一个 Web 应用程序,所有错误消息都存储在数据库中,我们通过 ID 获取它们,负数是错误,正数是成功消息。
问题是很难维护和跟踪短信。
你的方法是什么?
【问题讨论】:
一般来说,我将错误消息的文本保存在资源文件中。如果您使用 .NET 2.0 或更高版本(Visual Studio 2005 或更高版本),资源文件会自动编译为强类型类,从而使访问所述消息的代码更加清晰易读。
(编辑:看到另一条提到本地化的评论后,我也很荣幸在这里提及它:.NET 资源文件在本地化方面做得很好。您可以通过完全相同的方式获取资源的本地化文本代码,只需进行一些小的调整即可提供 CultureInfo。)
也就是说,听起来这个问题域的一部分是消息号。这些错误是否从数据库中抛出(例如,作为存储过程或触发器的一部分)?在这种情况下,数据库存储很可能是它们的正确位置,只是因为这将它们记录在最接近使用“幻数”的位置。
【讨论】:
如果您要本地化它们,我会使用英文文本作为键,然后查找您选择的存储(基于 SQL 的数据库、文件存储或您拥有的存储),然后返回正确本地化的字符串。
如果商店中不存在所请求的密钥,您可能会产生纯文本错误,可能会通过电子邮件发送给开发人员?
如需更多灵感,请参阅GNU gettext。
【讨论】: