Windows核心编程第五版
- 资料大王PDF
-
0 次阅读
-
0 次下载
-
2024-08-31 13:27:34
微信
赏
支付宝
文档简介:
第一部分 程序员必读
第1章 对程序错误的处理
在开始介绍Microsoft Windows 的特性之前,必须首先了解Windows的各
个函数是如何进行错误处理的。
当调用一个Windows函数时,它首先要检验传递给它的的各个参数的有
效性,然后再设法执行任务。如果传递了一个无效参数,或者由于某种
原因无法执行这项操作,那么操作系统就会返回一个值,指明该函数在
某种程度上运行失败了。表1 - 1列出了大多数Windows函数使用的返回
值的数据类型。
表1-1 Wi n d o w s 函数常用的返回值类型
数据
类型
表示失败的值
V O I
D
该函数的运行不可能失败。Wi n d o w s 函数的返回值类型很
少是V O I D
B O O
L
如果函数运行失败,那么返回值是0 ,否则返回的是非0 值。
最好对返回值进行测试,以确定它是0 还是非0 。不要测试返
回值是否为T R U E
H A N
D L E
如果函数运行失败,则返回值通常是N U L L ,否则返回值为
H A N D L E ,用于标识你可以操作的一个对象。注意,有些
函数会返回一个句柄值I N VALID_ HANDLE_VA L U E ,它
被定义为- 1 。函数的Platform SDK 文档将会清楚地说明该函
数运行失败时返回的是N U L L 还是I N VA L I D _ H A N D L
E _ VA L I D
P V O
I D
如果函数运行失败,则返回值是N U L L ,否则返回P V O I D
,以标识数据块的内存地址
L O N
G / D
W O R
D
这是个难以处理的值。返回数量的函数通常返回L O N G 或D
W O R D 。如果由于某种原因,函数无法对想要进行计数的对
象进行计数,那么该函数通常返回0 或- 1 (根据函数而定)。
如果调用的函数返回了L O N G / D W O R D ,那么请认真阅
读Platform SDK文档,以确保能正确检查潜在的错误
一个Wi n d o w s 函数返回的错误代码对了解该函数为什么会运行失败
常常很有用。M i c r o s o f t公司编译了一个所有可能的错误代码的列
表,并且为每个错误代码分配了一个3 2 位的号码。
从系统内部来讲,当一个Wi n d o w s 函数检测到一个错误时,它会使
用一个称为线程本地存储器(thread-local storage )的机制,将相应的错误
代码号码 与调用的线程关联起来(线程......
评论
发表评论