C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,我们可以通过返回值访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。

参考errno宏 查阅errno.h来知晓errno的值和对应的错误类型

errno、perror() 和 strerror()

使用 stderr(标准错误,默认输出到屏幕,无缓冲) 文件流来输出所有的错误

程序退出状态

通常情况下,程序成功执行完一个操作正常退出的时候会带有值 EXIT_SUCCESS。在这里,EXIT_SUCCESS 是宏,它被定义为 0。

如果程序中存在一种错误情况,当您退出程序时,会带有状态值 EXIT_FAILURE,被定义为 -1。 所以exit() 函数可以写成exit(EXIT_FAILURE); & exit(EXIT_SUCCESS);