Linux下C编程错误捕获函数(2)

其函数原型为:void perror(const char *s)。s一般是函数名。该函数会先将函数名打印出来,然后再打印出错误信息。错误信息与errno相对应。第二个参数__LINE__是一个宏,表示当前的行数。使用方法:

void my_err2(const char* err_string,int line)
{
 fprintf(stderr,"error:  line:%d ",line);
 perror(err_string);
        exit(1);
}
}

int main()
{
         .................
  my_err2("open",__LINE__);
                ................

}

测试结果如下:

edsionte@edsionte-laptop:~/code$ ./error
error:  line:29 open: File exists
}

该方法可以显示错误信息以及错误出现的行数。

以上方法是在《linux C编程》中常用的方法,我适当的作了小调整。现在将这两种方法结合起来:

void my_err3(const char* err_string,int line,int error)
{
 printf("error:  line:%d %s():%s with errno:%d\n",line,err_string,strerror(error),error);
        exit(1);
}

int main()
{
         ................
  my_err3("open",__LINE__,errno);
         ................

}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwspgg.html