博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows API 编程----将错误代码转换成错误描述信息
阅读量:6893 次
发布时间:2019-06-27

本文共 1050 字,大约阅读时间需要 3 分钟。

 

  Windows编程有时会因为调用函数而产生错误,调用GetLastError()函数可以得到错误代码。如果错误代码为0,说明没有错误;如果错误代码不为0,则说明存在错误。

  而错误代码不方便编程人员或用户直观理解到底发生了什么错误。Visual Studio 2015(或之前的版本)提供了“错误查找”的外部工具,输入错误代码即可以查看到底发生了什么错误。

  

  

 

  如果想在程序代码中查看错误代码对应的错误信息,可以编写如下函数来实现:

#include
#include
using namespace std;void winerr( );int main(int argc, char* argv[]){ system("haha"); winerr(); system("pause"); return 0;}void winerr( ){ char* win_msg = NULL; DWORD code = GetLastError(); if (code == 0) { cout << "error "<
<<":No error!\n"; return; } else { //获取错误信息 FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&win_msg, 0, NULL); if (win_msg != NULL) { cout << "error " << code <<":" << win_msg << endl; LocalFree(win_msg); } } //为了使得该函数的调用不影响后续函数调用GetLastError()函数的结果 SetLastError(code);}

 

测试结果:

转载于:https://www.cnblogs.com/dongling/p/5563288.html

你可能感兴趣的文章
(旧)子数涵数·PS ——翻页效果
查看>>
Day2 Excel与数据处理之定位条件、选择性粘贴及查找功能
查看>>
npm install 时间很长解决方案
查看>>
搭建maven环境
查看>>
中国大学MOOC-C程序设计(浙大翁恺)—— 时间换算
查看>>
爬豆瓣电影名
查看>>
深度学习之各种网络结构
查看>>
leetcode20: Insert Interval
查看>>
GNU make: Learning notes
查看>>
泛型程序设计---泛型方法的定义
查看>>
一个“MacBook”新手的Python“笨办法”自学之旅 #第九章:Python的函数
查看>>
codetest
查看>>
自己实现文本相似度算法(余弦定理)
查看>>
卡尔曼滤波小结
查看>>
Windows Server 2008 R2 负载平衡入门篇
查看>>
前后端联调
查看>>
OpenCV与QT联合编译 分类: Eye_Detection ...
查看>>
LNMP架构介绍
查看>>
洛谷3986
查看>>
ssh服务
查看>>