无返回值的函数如何捕获出错情况(检查errno常量)
2014-01-18 16:41
281 查看
在执行这个函数前,先清除errno,函数返回时,检查errno常量。
每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量就可以获得失败原因了。
例如
如果dsp设备忙的话errno值将是16。
或者用strerror函数打印出出错描述:
每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量就可以获得失败原因了。
例如
include <stdio.h> #include <string.h> #include <errno.h> int main(void) { int fd; extern int errno; if((fd = open("/dev/dsp",O_WRONLY)) < 0) { printf("errno=%d\n",errno); } exit(0); }
如果dsp设备忙的话errno值将是16。
或者用strerror函数打印出出错描述:
char * mesg = strerror(errno); printf("Mesg:%s\n",mesg);
相关文章推荐
- 学习
- mongodb sharding replica set
- 旋转树
- ipod之父投向google~库勒取消对其twitter关注
- 10167 - Birthday Cake
- java内存泄露
- Nor flash的探测
- 让你的App能够在搜索结果中唤起
- Dedecms中百度网站地图制作的方法(教程)
- 常用mysql命令行操作
- 浅谈java中的四个核心概念
- flipsnap--手机屏幕水平滑动框架
- 是这个人,一步步把“深度学习”从边缘课题变成Google等网络巨头仰赖的核心技术
- 附加属性(Attached Properties)基础
- 乾坤卦八
- Fix the computers ——(并查集) 结题报告
- UVA 11922 Permutation Transformer && SGU 187. Twist and whirl - want to cheat(伸展树)
- mtd_info
- binding与属性
- 十一吟