0

你们可能都注意到了,现在你得到的不同程序的错误总是有那个错误 ID 号,这实际上意味着发生了什么。

我在想也许有一个好主意Dictionary<int,string>,当 int 是错误 id 时,字符串是对所发生事件的描述。

例如:

ErrorID: 404
Description: Page not found

我问这个是因为我发现了一个缺点,并且不确定这是否很重要(也许我只是不知道它是如何完成的)。作为一名程序员,一旦你捕获了一个异常,你会如何将它与错误 ID 关联起来?(因此您最终可以向用户提供Description他的操作无法成功的原因)。

谢谢你。

4

1 回答 1

2

您正在尝试转置良好的旧错误代码模式。当您处理无异常语言(例如 C)或黑盒/远程进程(HTTP 请求)时,这是一个很好的做法。

在 .net 中,您可以使用包含错误消息的异常:

throw new Exception("File not found");

甚至创建自己的例外:

class FileNotFoundException : Exception
{
  public FileNotFoundException() : base("File not found") {}
}

用法:

throw new FileNotFoundException();

所以,答案是:处理不经常发生的错误的错误代码可能是一个很好的模式。.NET 字典很快,但有开销。但是您的问题与 i18n 的东西相距不远。

真正的问题是:您更喜欢错误代码还是异常?

于 2012-04-18T17:42:28.713 回答