第1章对程序错误的处理
在开始介绍Microsoft Windows 的特性之前,必须首先了解Windows的各个函数是如何进
行错误处理的。
当调用一个Windows函数时,它首先要检验传递给它的的各个参数的有效性,然后再设法
执行任务。如果传递了一个无效参数,或者由于某种原因无法执行这项操作,那么操作系统就
会返回一个值,指明该函数在某种程度上运行失败了。
一个Windows函数返回的错误代码对了解该函数为什么会运行失败常常很有用。M i c r o s o f t
公司编译了一个所有可能的错误代码的列表,并且为每个错误代码分配了一个3 2位的号码。
从系统内部来讲,当一个Wi n d o w s函数检测到一个错误时,它会使用一个称为线程本地存
储器(thread-local storage)的机制,将相应的错误代码号码与调用的线程关联起来(线程本地存储
器将在第2 1章中介绍)。这将使线程能够互相独立地运行,而不会影响各自的错误代码。当函
数返回时,它的返回值就能指明一个错误已经发生。若要确定这是个什么错误,请调用
G e t L a s t E r r o r函数:
DWORD GetLastError();
该函数只返回线程的3 2位错误代码。
当你拥有3 2位错误代码的号码时,必须将该号码转换成更有用的某种对象。Wi n E r r o r. h头
文件包含了M i c r o s o f t公司定义的错误代码的列表。