GetLastError

来源:互联网 发布:php主机管理系统 编辑:程序博客网 时间:2024/05/14 18:28

Linux errno.h cloudmail的博客 Linux通过errno这个变量来记录最近一次出错的内容,类似Windows下的GetLastError()函数的返回值。

目录

VB声明
VC声明
说明
返回值
常用的错误代码
注解
一个使用的错误调试方法

编辑本段VB声明

  Declare Function GetLastError Lib "kernel32" Alias "GetLastError" () As Long
  求补充VC下使用方法。

编辑本段VC声明

  DWORD GetLastError(VOID);

编辑本段说明

  针对之前调用的api函数,用这个函数取得扩展错误信息(在vb里使用:在vb中,用Err
  对象的GetLastError属性获取GetLastError的值。这样做是必要的,因为在api调用返回
  以及vb调用继续执行期间,vb有时会重设GetLastError的值)。

编辑本段返回值

  Long,由api函数决定。请参考api32.txt文件,其中列出了一系列错误常数;都以ERROR_前缀起头。

编辑本段常用的错误代码

  ERROR_INVALID_HANDLE 无效的句柄作为一个参数传递
  ERROR_CALL_NOT_IMPLEMENTED 在win 95下调用专为win nt设计的win32 api函数
  ERROR_INVALID_PARAMETER 函数中有个参数不正确

编辑本段注解

  GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数
  并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能
  担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结果
  才是有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError
  变量的前提下,才应访问GetLastError;这时能保证获得有效的结果。SetLastError函
  数主要在对api函数进行模拟的dll函数中使用,所以对vb应用程序来说是没有意义的。

编辑本段一个使用的错误调试方法

  在Visual C++ 中,可以在监视窗口添加 $err,hr 一行来实时显示错误。调试过程中,该项相当于在每次调用API函数之后调用GetLastError函数。其值由两部分组成,一个是错误代码(十六进制),另一个是错误代码所对应的文本提示。该方法支持多语言。[1]
0 0
原创粉丝点击