getlasterrror用法
来源:互联网 发布:我的老婆是警花知君txt 编辑:程序博客网 时间:2024/06/14 07:30
在VC中编写应用程序时,经常需要涉及到错误处理问题。许多函数调用只用TRUE和FALSE来表明函数的运行结果。一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因。
可问题是,GetLastError()返回的只是一个双字节数值(DWORD)。OH,MY GOD!目前Win32的出错编号已经从0排到11031,而这还不是错误编码的全部。因为错误代码还在不断增加。
我想没有人愿意自己去查出错编码所对应的错误信息。好在Windows(Windows95以上, Window NT 3.1以上)已经提供了现成的错误信息处理函数:FormatMessage()。 以下是用FormatMessage()得到由GetLastError()返回的出错编码所对应错误信息的示例:
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Process any inserts in lpMsgBuf.
//显示错误信息
MessageBox( (LPCTSTR)lpMsgBuf);
// Free the buffer.
LocalFree( lpMsgBuf );
windowsAPI函数所以头文件--#include<windows.h>
FormatMessage()功能就是将GetLastError得到的错误信息(这个错误信息是数字代号)转化成字符串信息的函数
函数FormatMessage声明如下:
WINBASEAPI
DWORD WINAPI FormatMessageA(
DWORD dwFlags, //错误信息类型标志
LPCVOID lpSource, //指定本地信息定义 其依赖于第一个参数的设置
DWORD dwMessageId, //指定被请求的消息标示,如果dwFlags设置
//为 FORMAT_MESSAGE_FROM_STRING 这个参数将被忽略
DWORD dwLanguageId, //指定被请求的消息的语言标示
LPSTR lpBuffer, //用来保存格式话后的消息字符串的地址
DWORD nSize, //如果第一个参数为指定FORMAT_MESSAGE_ALLOCATE_BUFFER
// 这个参数就是字符串的最大长度
va_list * Arguments
);
- getlasterrror用法
- 用法
- ,, 用法
- 用法
- 用法
- #用法
- ??用法
- !!用法
- CustDialog用法 SimpleAdapter 用法
- hibernate_Restrictions用法 hibernate_Restrictions用法
- extern用法+assert用法
- getParameterValues用法
- rpm用法
- Log4j用法
- NameSpace用法
- sp_executesql 用法
- ShellExecute用法
- getParameterValues用法
- STM32(1)
- 关于c++面向对象重债覆盖隐藏和虚函数表
- 读取CSV XLSX XLS文件
- java动态规划最小路径和
- 数据压缩 实验四 DPCM压缩系统的实现和分析
- getlasterrror用法
- JS-7-new
- 表格添加、删除某一行
- 一个简单的零配置命令行HTTP服务器
- Linux 数据压缩与归档
- NPC问题
- AC自动机模板【洛谷3796】
- Shell Sort
- swift页面跳转两种方式,以及error:thread 1:signal sigabrt报错原因