• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
BeyondTechnology
博客园    首页    新随笔    联系   管理    订阅  订阅

Chapter 1: Error Handling

DWORD GetLastError();
该函数只返回线程的32位错误代码。

WinError.h头文件包含了Microsoft公司定义的错误代码的列表

每个错误都有3种表示法:一个消息ID(这是你可以在源代码中使用的一个宏,以便与GetLastError的返回值进行比较),消息文本(对错误的英文描述)和一个号码(应该避免使用这个号码,可使用消息ID)。

当Windows函数运行失败时,应该立即调用GetLastError函数。如果调用另一个Windows函数,它的值很可能被改写。
成功调用的Windows函数可能用ERROR_SUCCESS改写此值。

Watch(监视)窗口,显示线程的上一个错误代码和错误的文本描述。在Watch窗口中选择一行,然后输入$err,hr

Visual studio 还配有一个小的实用程序,称为Error Lookup 。可以使用Error Lookup将错误代码的号码转换成相应文本描述

如果在编写的应用程序中发现一个错误,可能想要向用户显示该错误的文本描述。Windows提供了一个函数,可以将错误代码转换成它的文本描述。该函数称为FormatMessage 

设置线程的上一个错误代码,只需要调用VOID SetLastError(DWORD dwErrCode)

尽量使用WinError.h中现有的代码,如果WinError.h中的任何一个代码都不能准确反应一个错误,就可以创建自己的代码,错误代码是一个32位数

重要域是第29位。Microsoft公司规定,他们建立的所有错误代码的这个信息位均使用0。如果创建自己的错误代码,必须使29位为1。这样,就可以确保你的错误代码与Microsoft公司目前或者将来定义的错误代码不会发生冲突。 


posted @ 2011-03-13 00:01  BeyondTechnology  阅读(321)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3