unix环境高级编程-1.7-出错处理

来源:互联网 发布:前端javascript爬虫 编辑:程序博客网 时间:2024/05/18 06:12

当unix出错时,经常返回一个负值,而且整形变量erron通常被设置为含有附加信息的一个值。例如open函数如果成功执行则


返回一个非负的的文件描述符。如果出错则返回-1。

在open出错时,大约有15钟不同的errno值。

有些函数以另一种形式返回。

 

多个线程共享进程地址空间,每个线程都有属于自己的局部erron以避免一个线程干扰另一线程。  linux支持多线程存取errno,

 

c标准定义了两个函数,

#include <string.h>char *strerror(int errnum);


将出错号映射为出错信心字符串,并返回此字符串的指针。

 

perror函数是基于errno当前值, 产生一条出错信息。

#include<stdio.h>void perror(const char* msg);


 

请看下面例子

#include"apue.h"#include <errno.h>int main(int argc,char** argv){    fprintf(stderr,"eacces:%s\n",strerror(EACCES));    errno=ENOENT;    PERROR(argv[0]);    exit(0);}


出错恢复:出错分为两种:致命性的和非致命的。致命性的就是打印错误,无法恢复等

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鼻炎总是打喷嚏流鼻涕怎么办 新生儿流黄鼻涕怎么办 感冒鼻塞流鼻涕喷嚏怎么办 宝宝总是打喷嚏流鼻涕怎么办 不停的打喷嚏流鼻涕怎么办 宝宝不停打喷嚏流鼻涕怎么办 孕妇感冒流鼻涕打喷嚏怎么办 孕妇感冒咳嗽流鼻涕怎么办 鼻子痒流鼻涕流眼泪怎么办 天冷鼻子流鼻涕怎么办 感冒流水样鼻涕怎么办 一直有清水鼻涕怎么办 孩子总打喷嚏鼻塞怎么办 4岁儿童流鼻涕怎么办 孕妇清鼻涕不停怎么办 感冒流鼻水怎么办速效办法 一岁宝宝流清涕怎么办 咳嗽喉咙痛有痰怎么办 冻感冒了流鼻涕怎么办 吸烟经常嗓子疼怎么办 擦鼻涕擦破了怎么办 感冒鼻水流不停怎么办 流鼻涕鼻子都擦红了怎么办 鼻子不停的流水怎么办 擦鼻涕耳朵疼怎么办 鼻涕跟水一样怎么办 鼻涕水多打喷嚏怎么办 买来的鼻涕泥是水怎么办? 鼻炎鼻涕跟水怎么办 出门忘记带钥匙怎么办 总留鼻涕水怎么办 流像水一样的鼻涕怎么办 出门忘记带洗面奶怎么办 一侧鼻子流清水怎么办 慢性肠胃炎犯了怎么办 儿子拉肚肚子疼怎么办 皮肤太容易过敏怎么办 过敏脸一直不好怎么办 脸上突然过敏怎么办急救 脸过敏发红疼怎么办 脸上突然过敏了怎么办