检查函数返回值:这是最常见也最基本的错误处理和异常处理方法,就是在调用一个函数后,检查其返回值是否符合预期或是否表示出错或失败。如果出错或失败,则根据返回值或者全局变量errno(定义在errno.h头文件中)来判断出错或失败的原因,并采取相应的措施,例如打印出错信息、释放资源、返回错误码等。例如:
- #include <stdio.h>
- #include <stdlib.h>
- #include <errno.h>
- int main() {
- // 打开一个文件
- FILE *fp = fopen("test.txt", "r");
- // 检查文件是否打开成功
- if (fp == NULL) {
- // 打印出错信息
- perror("fopen");
- // 返回非零值表示出错
- return 1;
- }
- // 读取文件内容
- char buf[100];
- // 检查文件是否读取成功
- if (fgets(buf, 100, fp) == NULL) {
- // 打印出错信息
- perror("fgets");
- // 关闭文件
- fclose(fp);
- // 返回非零值表示出错
- return 2;
- }
- // 打印文件内容
- printf("The content of the file is: %s\n", buf);
- // 关闭文件
- fclose(fp);
- // 返回零值表示成功
- return 0;
- }
|