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公司目前或者将来定义的错误代码不会发生冲突。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现