何时适合使用错误代码?

在支持异常对象的语言(Java、C#)中,何时适合使用错误代码?在典型的企业应用程序中使用错误代码是否合适?

许多众所周知的软件系统都使用错误代码(以及相应的错误代码参考)。一些例子包括操作系统(Windows),数据库(Oracle,DB2)和中间件产品(WebLogic,WebSphere)。错误代码有什么好处?使用错误代码的缺点是什么?


答案 1

程序中,应该始终使用异常而不是错误代码。但是,异常不能传播到程序之外。任何时候错误必须离开程序,您都会留下错误消息或错误代码。

对于简单的事情,总是人为操作的错误消息,没有代码是可以的。您可以说“找不到文件”,而不会给它一个错误代码。但是,如果它可能是另一端的另一台计算机,那么您应该另外提供错误代码。当您将其更改为“找不到文件<x>时,您不希望破坏其他系统。


答案 2

我不认为我曾经在.Net中使用过错误代码,除了在种情况下 - 当我创建一个控制台应用程序时,我知道将从另一个应用程序调用。另一个应用程序必须知道控制台应用程序何时失败,以及出了什么问题。因此,何时合适的一个例子是,当您知道您的程序将被其他程序调用时,并且您希望以结构化的方式让他们理解错误。

也就是说,我当时是.NET的新手,从那以后就再也没有使用过错误代码。

顺便说一句,作为一个Windows人,能够plop in error code并提出一篇KB文章是很好的,所以错误代码与良好的文档和找到它的能力相结合=来自用户的美好感受。


推荐