ran*_*cts 4 c c++ windows file-io
我玩弄抽象的Windows,Linux和Mac文件IO调用到宏(避免C运行时,所以没有fopen,fclose等...).我实际上有相当多的工作,但我遇到了绊脚石.
我试图将这些平台中可能抛出的所有可能错误归结为常见的错误:未找到,存在,无效访问等.
Linux显然是很好的文档,Mac甚至有最常见的文档,但Windows没有指定为其本机文件I/O函数抛出哪些错误.我们显然需要使用GetLastError(),但我找不到可能值的参考.
我正在编写Windows应用程序并使用CreatFile()API.我想尽可能优雅地处理任何错误,并且可能从错误中恢复,而不是告诉用户"废话!不能那样做".但是MSDN文档没有列出可能生成的错误代码.
有没有人引用Windows文件函数可能生成的错误代码,具体来说(现在)CreateFile()?
Windows支持可安装的文件系统.Microsoft无法预测第三方文件系统驱动程序将生成哪种错误,因此不会尝试承诺严格的可能错误代码子集.
所以是的,你真的必须使用GetLastError().FormatMessage()函数可用于为错误代码生成可读字符串.通常,用户将获得一个体面的错误消息,帮助他诊断根本原因.据说智利的地震切断了海底通信电缆还不够具体,但这肯定会帮助他开始研究网络问题.您也可以使用CRT包装,但不可避免地会失去特异性.这可能是您必须处理的服务调用,而不是用户的IT人员.
| 归档时间: |
|
| 查看次数: |
6057 次 |
| 最近记录: |