Windows核心编程学习笔记(1)错误处理

在这里插入图片描述
大家好,我是米兰,一个五年级开始编程的小伙。我曾经研究过各种技术,在代码底层摸爬打滚,经历过无数次从入门到放弃的生活,感受过黑暗与毒打。如果你也有相同的经历和探究的问题,欢迎关注我,咱们共同探究,共同进步。
在这里插入图片描述
今天我要分享给朋友们的笔记是《Windows核心编程学习笔记(1)错误处理》。为了方便各位朋友,下面我截取了本书的相关章节。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
因为这个版本是第四版的,所以有差错请谅解。而我阅读的是第五版,内容方面与第四版完全相同,所以各位读者不必担心。废话不多说,送货!
在这里插入图片描述
在内部,当Windows函数检测到错误的发生时,会使用一种名为"线程本地存储区"的机制将相应的错误代码与"主调线程"(即发生调用该函数操作的线程)关联在一起,使不同的线程独立运行,不会出现互相干扰错误代码的情况。下面列举错误的三种表示:
1.一个消息ID(一个可在源代码直接使用的宏名,用于与GetLastError()返回值比较)
2.消息文本(描述错误内容的英文文本)
3.编号(个人理解为宏的具体值,在代码中最好不要直接出现,否则增加代码阅读理解的难度,不利于开发进行)

当函数发生各种不同的错误时,为了使调用者可以通过GetLastError()函数来访问错误代码,以便于观察具体发生的错误而不是直接结束程序,需要我们设置线程的上一个错误代码,再让自己的函数返回这个错误值即可,调用SetLastError()并传入一个32位合适值即可。
最后一点值得注意的是,错误发生后应立即用GetLastError()来诊断错误,成功调用的Windows函数可能使用用ERROR_SUCCESS改写GetLastError()函数的值,这个操作是不可逆。
在这里插入图片描述
今天的笔记就到这里了,更多教程和笔记请关注我,由于我是第一次写博客,有很多错误在所难免,欢迎大家指出,大家有疑问也可以多多交流,共同进步,我尽量用通俗易懂的方式向大家述说Windows核心编程,最后再次感谢Jeffrey RichterChristophe Nasarre大师的亲笔著作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值