【发布时间】:2017-12-29 02:03:06
【问题描述】:
是否有提供由 given winapi 函数通过 GetLastError() 返回的错误代码的列表?是否有提供此类文档的官方或非官方资源?
例如,MSDN 上的 winsock 函数文档页面提供了可能的 WSAGetLastError() 代码表,而其他 winapi 函数没有针对给定函数的每个可能错误的此类列表,这是这个问题中解决的确切问题,我在问每个 winapi 函数的类似文档。
我不要求什么:
- List of winapi error codes
- 关于实现错误处理或一些处理错误处理的库的建议
- 关于使用 FormatMessage() 和类似内容的建议
编辑:我知道this 问题,它处理一个似乎是异常的特定函数(CreateFile),因为第三方文件系统可以提供自己的错误代码,即使大多数函数都属于这种情况,也有仍然应该是最常见/标准的错误代码
提前致谢
【问题讨论】:
-
没有这样详尽的列表。每个函数的文档都包含它使用的错误代码的部分列表。这就是你得到保证的全部。它可能会设置其他错误代码,也可能不设置任何错误代码。在承诺设置错误代码的功能失败后,您只需检查并查看。
-
@CodyGray 一些功能,其中一些被广泛使用的功能甚至没有提供部分列表
-
那么您无法保证他们设置了哪些错误代码。您必须通过实验来确定它,这将是脆弱的,因为它可能会在不同版本的操作系统上发生变化。为什么需要这个?
-
文件不存在、资源不足或内存不足等不太可能改变的常见错误怎么办?
-
函数的实现总是可以改变,以便它们设置或不设置这些错误。错误代码只是一个指南,主要用于帮助您进行调试,并可能在错误消息框的“附加信息”部分显示给用户。您不应该在代码中对所有这些进行详尽的处理。任何预期且应处理的错误情况都将列在该特定功能的 MSDN 文档中。
标签: c winapi getlasterror