Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么API中存在整数错误代码?_Api_Error Handling - Fatal编程技术网

为什么API中存在整数错误代码?

为什么API中存在整数错误代码?,api,error-handling,Api,Error Handling,在几乎每一种API中都有整数错误代码,如(例如,123)指示错误类型。我想知道是否最好使用描述性字符串代码,如user\u not\u found或invalid\u request。在我看来,它们更加实用:假设您在几个月左右之后回到代码,您可以轻松地完成错误处理部分,而无需在文档中搜索错误代码 为什么整数错误代码仍然存在于API中?在API中,客户端通常是使用条件测试响应代码的计算机 测试agains整数要比测试agains字符串快得多,仅此而已 此外,错误代码有一定的逻辑:API通常使用HT

在几乎每一种API中都有整数错误代码,如(例如,
123
)指示错误类型。我想知道是否最好使用描述性字符串代码,如
user\u not\u found
invalid\u request
。在我看来,它们更加实用:假设您在几个月左右之后回到代码,您可以轻松地完成错误处理部分,而无需在文档中搜索错误代码


为什么整数错误代码仍然存在于API中?

在API中,客户端通常是使用条件测试响应代码的计算机

测试agains整数要比测试agains字符串快得多,仅此而已

此外,错误代码有一定的逻辑:API通常使用HTTP代码,因此当您(作为一个人)阅读它们时,您知道
2xx
表示成功,
4xx
表示客户端错误,
5xx
表示服务器端错误,即使您不知道它们的全部内容

编辑:


你的问题让我想到,网站的加载时间是如何影响利润的。你应该阅读它,让自己相信即使是几毫秒有时也很重要。

但是大多数错误都有很好的名称。标准C、POSIX和Windows都有错误代码的名称。当然,这些名称中的大多数都是作为预处理器宏生成的,但也有一些函数可以从这些消息中获取一个好的字符串或消息。

是的,但在我们这个时代,我认为比较两个字符串并不是一件真正的事。你怎么看?即使在今天,比较两个字符串也比比较两个整数慢得多。@keepkimi字符串比较总是比比较两个整数慢很多数量级(这通常是一条单CPU指令)。我认为这是微秒的问题,所以这不是一个大问题。我认为这比节省开发人员搜索错误代码真正含义的时间要便宜。你觉得怎么样?@alestanis感谢性能链接。我想我不能同意。性能是其中之一,但开发人员编写代码的舒适性对我来说更重要。我认为类似的例子是ORM系统的使用,它比直接查询DB慢得多,但允许保持代码干净,易于维护。