GetLastError 在程序中的使用

转载 2015年07月09日 17:58:44
在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.
     // ...
    
     // Display the string.
     MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
    
     // Free the buffer.
     LocalFree( lpMsgBuf );
     不过有一点比较可笑,“该函数调用如果出错,将返回0值,需要获取错误信息,请调用GetLastError()”。

GetLastError()返回值列表

GetLastError()返回值列表: 〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗...

GetLastError()函数的介绍

GetLastError()函数的介绍这是一个很简单的函数,它的作用就是取得上一个函数操作时所产生的错误代码。通过错误代码,就可以在winerror.h头文件中查找到每一中错误代码所表示的含义。也可以...

GetLastError返回代码含义

〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存...
  • qsq3
  • qsq3
  • 2012年02月11日 11:01
  • 9747

GetLastError使用以及打印输出方法

GetLastError()返回的只是一个双字节数值(DWORD),但从双字节数无法直接知道错误出处,除非你把错误代码及其含义都记住了(呵呵,一万多个呢...),有个简单输出的方法如下:...

GetLastError的用法

在VC中编写应用程序时,经常需要涉及到错误处理问题。许多函数调用只用TRUE和FALSE来表明函数的运行结果。一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因。 ...

GetLastError和FormatMessage的简单使用

当调用一些Win32的函数的时候,出错的信息要通过GetLastError和FormatMessage函数来获取出错信息 DWORD dwErrorCode = ::GetLastError();...

VC中GetLastError()获取错误信息的使用

VC中GetLastError()获取错误信息的使用在VC中编写应用程序时,经常需要涉及到错误处理问题。许多函数调用只用TRUE和FALSE来表明函数的运行结果。一旦出现错误,MSDN中往往会指出请用...
  • pizi0475
  • pizi0475
  • 2010年02月04日 14:59
  • 16453

linux comm 命令介绍

 如果想在Linux命令行方式下,对2个文本文件的内容做比较,找出同时包含在这2个文本文件中的内容,可以使用Linux系统带的工具comm来处理,前提是被比较的2个文本文件要是有序的,可以先用sort...

GCC功能及使用

功能: 预处理、编译、连接、汇编 编译过程(从源代码到可执行文件) 预处理:gcc -Ehello.c -o hello.i //生成预处理后的源文件 汇编:gcc -S hello...
  • waldmer
  • waldmer
  • 2013年11月21日 16:25
  • 2022

GetLastError函数使用及返回代码对照

DWORD i  =  ::GetLastError();      功能:查询LoadIcon()函数返回的错误值   〖0〗-操作成功完成。   〖1〗-功能错误。   〖2〗-系统找不...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GetLastError 在程序中的使用
举报原因:
原因补充:

(最多只允许输入30个字)