出错处理函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了出错处理函数相关的知识,希望对你有一定的参考价值。

    当调用系统调用时,若系统调用出错,则系统会修改errno变量的值,errno变量为一个int型的全局变量,在头文件/usr/include/errno.h中被引用性声明,估计定义是在库文件中。当出现不同类型的错误时,会给errno变量赋予不同的值,这些不同的值在errno.h中被定义了。
 
    Linux系统提供两个出错处理函数,perror和strerror函数。这两个函数必须在系统调用会影响errno的值的前提下才能使用。
 
    perror(const char *s)函数的功能就是根据不同errno值的类型,先向标准错误输出中打印出字符串s,再打印出相应的错误信息。格式是“字符串s + 冒号+ 空格+错误信息”。
技术分享
技术分享
 技术分享
技术分享
======================================================
除了perror函数之外,还有一个strerror函数用作提示错误输出。    
char *strerror(int errorno)函数返回一个指向字符串的字符指针,该字符串是errorno所对应的错误提示。可以使用以下语句对其进行输出:
    printf("%s", strerror(errno));

 

以上是关于出错处理函数的主要内容,如果未能解决你的问题,请参考以下文章

使用 foreach 进行并行处理时出错:“找不到函数“%dopar%””

Socket编程函数:socket,bind,listen,accept,connect,出错处理函数[奇牛学院]

C/C++ Linux 出错处理函数(strerror 与 perror)

C/C++ Linux 出错处理函数(strerror 与 perror)

Go资源与出错处理

写一个dup2功能同样的函数,不能调用 fcntl 函数,而且要有出错处理