博客
关于我
2021-01-09
阅读量:646 次
发布时间:2019-03-15

本文共 1168 字,大约阅读时间需要 3 分钟。

程序中的错误处理是软件开发中不可或缺的一部分,能够帮助开发人员及时发现和解决问题。通过对错误处理的理解和应用,程序能够更加健壮地应对各种异常情况。

在C语言环境中,系统定义了一个全局变量 int errno,用于记录发生错误时的错误码。每个错误码都对应一组特定的错误描述信息,开发人员可以通过调用相应的函数获取错误信息,从而快速定位问题。

为了获取错误码的文字描述,开发人员可以使用 strerror 函数。例如,以下代码片段展示了如何在发生错误时获取并显示错误信息:

#include 
#include
#include
int main(int argc, char *argv[]) { FILE *fp = fopen(argv[1], "r"); if (NULL == fp) { printf("fopen error %d\n", errno); printf(" %s\n", strerror(errno)); return -1; } fclose(fp); return 0;}

当运行程序时,假设提供的文件不存在,系统会输出以下信息:

./a.out hefopen error 2No such file or directory

此外,还有一个更简单的方法可以输出错误信息——使用 perror 函数。以下代码片段展示了这一点:

#include 
#include
#include
int main(int argc, char *argv[]) { FILE *fp = fopen(argv[1], "r"); if (NULL == fp) { perror("fopen"); return -1; } fclose(fp); return 0;}

运行该程序时,输出将会是:

./a.out hellofopen: No such file or directory

为了减少代码量,开发人员可以自定义 stdio.h 头文件。例如,可以定义一个宏 E_MSG 来处理错误信息:

#ifndef T_STDIO_H#define T_STDIO_H#include 
#define E_MSG(str, v) do {\ perror(str); \ return v; \} while(0)#endif

这种自定义方式可以简化错误处理代码,同时保持代码的可读性和可维护性。

转载地址:http://trwmz.baihongyu.com/

你可能感兴趣的文章
旅游后期效果Ography Lightroom预设
查看>>
圆角几何艺术动态壁纸
查看>>
SpamSieve for mac(邮件过滤器)
查看>>
炫酷的圣诞球徽标AE模板
查看>>
uFocus for Mac(mac文本编辑器)
查看>>
2017CS231n笔记5.CNN
查看>>
Linux系统安装Nodejs
查看>>
vue项目报错集合
查看>>
图片链接
查看>>
LINUX-WIFI无线接入的一些东西
查看>>
word文档手写字母总会大写问题
查看>>
Redis中的key
查看>>
Andriod进阶之路 - DataBinding的简单使用
查看>>
juc-09-控制并发流程工具类
查看>>
第一节 docker安装
查看>>
Linux系统时间与硬件时间及时间同步
查看>>
Django静态文件的加载以及STATIC_URL、 STATIC_ROOT 、STATICFILES_DIRS的区别
查看>>
Spring 和 DI 依赖注入
查看>>
中序线索二叉树的遍历
查看>>
文字策略游戏 android studio(学习intent,textview,等等)
查看>>