`
webcenterol
  • 浏览: 917844 次
文章分类
社区版块
存档分类
最新评论

令人疑惑的数值

 
阅读更多

前两天在制作那备份更新地址功能。阅读之前离职同事写的关于下载网络文件的代码时,遇到了一段有疑问的代码:

......

CHttpFile* fileGet;

......

DWORD dwStatus;

DWORD dwBufflen = sizeof(dwStatus);

bool succeed;

succeed= fileGet->QueryInfo(HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,&dwStatus,&dwBufflen);

if(succeed&& dwStatus>=200 && dwStatus<300)

{

......

}

......

心里一直对那200和300起疙瘩,这两数值是根据什么来设置的呢。而且测试的时候,那异常的更新文件地址直接跳过这个if里面的语句了,却在后续代码里没作相应处理。

后来再网上搜索到相关的资讯,关于dwStatus范围的:

200-299 :Success

300-399 :Information

400-499 :Request error

500-599 :Server error

以及:

200:URL located, transmission follows

400 :Unintelligible request

404 :Requested URL not found

405 :Server does not support requested method

500 :Unknown server error

503 :Server capacity reached

原来如此。。。把那200和300定义一个易懂的宏看起来就好很多了。再在if后面加个else处理异常,看来除200到299外的都是异常的,都可以统一处理。不过这更新的功能影响重大,一出问题那就是灾难性的,要全面地测测才行。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics