错误处理

错误处理:

    许多系统调用和函数在失败后,会在失败时设置外部变量errno的值来指明失败原因。许
    多不同的函数库都把这个变量作为报告错误的标准方法。程序必须在函数报告出错后立刻
    检查errno变量,因为它可能被下一个函数调用所覆盖,即使下一个函数本身没有出错,
    也可能会覆盖这个变量。错误代码的取值和含义都在头文件errno.h中,如下所示:
    EPERM:操作不允许
    ENOENT:文件或目录不存在
    EINTR:系统调用被中断
    EIO:I/O错误
    EBUSY:设备或资源繁忙
    EEXIST:文件存在
    EINVAL:无效参数
    EMFILE:打开的文件过多
    ENODEV:设备不存在
    EISDIR:是一个目录
    ENOTDIR:不是一个目录
    常用的用来报告出现的错误的函数:strerror perror
   
strerror函数:将错误代码映射为一个字符串,该字符串对发生的错误类型进行说明。
函数原型:
    #include <string.h>
    char *strerror(int errnum);

  

perror函数:将errno变量中报告的当前错误映射到一个字符串,并把它输出到标准错误输出流。       
函数原型:
    #include <stdio.h>
    void perror(const char *s);

 

posted @ 2018-08-17 10:59  荒唐了年少  阅读(204)  评论(0编辑  收藏  举报