第一章 错误处理

可以通过配置查看窗口来始终显示该线程的最终错误代码号,以及对应于该错误的英文文本描述。通过在查看窗口中选择一行,然后键入“@err,hr”就能实现该功能。

如果在编写的应用程序中发现一个错误,可能需要把文本描述的错误信息显示给用户。微软提供了一个函数,将错误代码转换为其文本描述。该函数FormatMessage。

DWORD FormatMessage(
  DWORD
dwFlags,      // source and processing options
  LPCVOID lpSource,   // pointer to  message source
  DWORD dwMessageId// requested message identifier
  DWORD dwLanguageId, // language identifier for requested message
  LPTSTR lpBuffer,    // pointer to message buffer
  DWORD nSize,        // maximum size of message buffer
  va_list *Arguments  // pointer to array of message inserts
);

若要指明函数运行失败,只需要设定线程的最后的错误代码,然后让你的函数返回FA L S E 、I N VA L I D _ H A N D L E _ VA L U E 、N U L L 或者返回任何合适的信息。若要设定线程的最后错误代码,只需调用下面的代码:

请将你认为合适的任何3 2 位号码传递给该函数。尝试使用Wi n E r r o r. h 中已经存在的代码,

VOID SetLastError(DWORD dwErrCode);
只要该代码能够正确地指明想要报告的错误即可。如果你认为Wi n E r r o r. h 中的任何代码都不能正确地反映该错误的性质,那么可以创建你自己的代码 。错误代码是个3 2 位的数字,划分成表1-2所示的各个域。

表1-2 错误代码的域

3 1 ~30292827~1615~0
内容严重性M i c r o s o f t/客户保留设备代码异常代码
含义0 =成功0 =M i c r o s o f t公司定义的代码必须是0由M i c r o s o f t公司定义由Microsoft/客户定义
1 =供参考1 =客户定义的代码
2 =警告
3 =错误
这些域将在第2 4 章中详细讲述。现在,需要知道的重要域是第2 9 位。M i c r o s o f t 公司规定,他们建立的所有错误代码的这个信息位均使用0 。如果创建自己的错误代码,必须使2 9 位为1 。这样,就可以确保你的错误代码与M i c r o s o f t 公司目前或者将来定义的错误代码不会发生冲突。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值