【发布时间】:2009-01-28 19:33:58
【问题描述】:
我正在尝试使通过网络驱动器(可能通过 WAN 或 VPN)的文件 I/O 对于原生 C++ Windows 应用程序尽可能可靠...
我需要能够处理哪些可能的错误情况?
如何在测试中模拟这些错误情况?
如何获取有关特定错误的详细信息?例如,如果fopen() 失败,errno 会告诉我我需要知道的一切,还是我需要获取GetLastError() 的值?
如何可靠地区分“网络驱动器访问功能齐全但文件不存在”和网络或服务器的各种问题?
我在桌面上注意到的一个特殊错误情况(不是特定于我们正在开发的应用程序)是有时第一次尝试访问网络驱动器上的文件会失败,但它可能会导致驱动器在后台重新连接,因为后续连接有效。我不知道是什么原因造成的。这是我想要正确处理的错误情况的一个示例。
编辑:这是一个遗留的分布式应用程序,它使用网络共享上的文件在节点之间进行通信。某些节点可能无人看管,因此可能无法将错误传递给最终用户。长期目标是切换到更好的协议,但短期内我想让文件 I/O 尽可能可靠。
【问题讨论】:
标签: windows networking file error-handling