第1章 对程序错误的处理
1.Windows函数常用的返回值类型
BOOL 失败:0;成功:非0.不要测试返回值是否为TRUE
HANDLE 失败:NULL或者INVALID_HANDLE_VALID;成功:返回值为HANDLE.
PVOID 失败:NULL;成功:返回值为PVOID.
当函数返回的时候指明一个错误己经发生.若要确定这是什么错误,可以调用GetLastError()函数:DWORD GetLastError().每种错误都要三种表示方法:一个消息ID,消息文本和一个号码.
在编写应用程序中发现一个错误,可能想要向用户现实该函数的文本描述.该函数称为:FormatMessage.该函数功能实际是非常丰富的,在创建向用户现实的字符串信息时,它是首选函数.
1.1如何定义自己的错误代码
如果希望定义一个他人调用的函数,你的函数可能因为这样或者那样的原因失败了.要需要指定线程的最后的错误代码,让函数返回FALSE,INVALID_HANDLE_VALUE,NULL或者其他任何合适的信息.若要制定错误代码可以调用下面的函数:
VOID SetLastError(DWORD dwErrCode);
Microsoft公司规定,他们建立的所以错误代码的第29位使用0,如果创建自己的错误代码必须使用1.确保错误代码不会冲突.
1.Windows函数常用的返回值类型
BOOL 失败:0;成功:非0.不要测试返回值是否为TRUE
HANDLE 失败:NULL或者INVALID_HANDLE_VALID;成功:返回值为HANDLE.
PVOID 失败:NULL;成功:返回值为PVOID.
当函数返回的时候指明一个错误己经发生.若要确定这是什么错误,可以调用GetLastError()函数:DWORD GetLastError().每种错误都要三种表示方法:一个消息ID,消息文本和一个号码.
在编写应用程序中发现一个错误,可能想要向用户现实该函数的文本描述.该函数称为:FormatMessage.该函数功能实际是非常丰富的,在创建向用户现实的字符串信息时,它是首选函数.
1.1如何定义自己的错误代码
如果希望定义一个他人调用的函数,你的函数可能因为这样或者那样的原因失败了.要需要指定线程的最后的错误代码,让函数返回FALSE,INVALID_HANDLE_VALUE,NULL或者其他任何合适的信息.若要制定错误代码可以调用下面的函数:
VOID SetLastError(DWORD dwErrCode);
Microsoft公司规定,他们建立的所以错误代码的第29位使用0,如果创建自己的错误代码必须使用1.确保错误代码不会冲突.