文件名称:出错处理-cadence入门教程
文件大小:5.91MB
文件格式:PDF
更新时间:2024-07-02 09:19:43
Unix linux 环境 编程
1.7 出错处理
当U N I X函数出错时,往常返回一个负值,而且整型变量e r r n o通常设置为具有特定信息的一
个值。例如,o p e n函数如成功执行则返回一个非负文件描述符,如出错则返回-1。在o p e n出错
时,有大约1 5种不同的e r r n o值(文件不存在,许可权问题等 )。某些函数并不返回负值而是使用
另一种约定。例如,返回一个指向对象的指针的大多数函数,在出错时,将返回一个null指针。
文件< e r r n o . h >中定义了变量e r r n o以及可以赋与它的各种常数。这些常数都以E开头,另外,
U N I X手册第 2部分的第 1页, intro(2) 列出了所有这些出错常数。例如,若 e r r n o等于常数
E A C C E S,这表示产生了权限问题 (例如,没有打开所要求文件的权限 )。P O S I X定义e r r n o为:
extern int errno;
P O S I X . 1中e r r n o的定义较C标准中的定义更为苛刻。C标准允许e r r n o是一个宏,
它扩充成可修改的整型左值 (lvalue) (例如返回一个指向出错数的指针的函数 )。
对于e r r n o应当知道两条规则。第一条规则是:如果没有出错,则其值不会被一个例程清除。
因此,仅当函数的返回值指明出错时,才检验其值。第二条是:任一函数都不会将 e r r n o值设
置为0,在< e r r n o . h >中定义的所有常数都不为0。
C标准定义了两个函数,它们帮助打印出错信息。
#include