linux 错误处理

时间:2022-04-02 00:56:22

  linux程序设计中,有许多系统调用和函数会因为各种原因而失败.在失败时设置外部变量errno的值来指明失败原因.程序必须在函数报告出错之后立即检查errno变量,因为它可能被下一个函数调用所覆盖(外部变量errno只有一个,所有的失败调用(这些调用指的是失败会设置errno的调用)都会设置errno).

  错误代码的取值和含义都列在errno.h里

  EPERM: 操作不允许

  ENOENT:文件或目录不存在

  EINTR:系统调用被中断

  EIO: I/O错误

  EBUSY:设备或资源忙

  EEXIST:文件存在

  EINVAL:无效参数

  EMFILE:打开的文件过多

  ENODEV:设备不存在

  EISDIR:是一个目录

  ENOTDIR:不是一个目录

函数strerror 和 perror

strerror:把错误代码映射为一个字符串 #include <string.h>   char *strerror( int errnum ). 该函数返回errnum对应的错误的描述 的字符串.如printf("%d : %s\n", i, strerror(5));

perror:用 来 将 上 一 个 函 数 发 生 错 误 的 原 因 输 出 到 标 准 错误 (stderr) 。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno 的值来决定要输出的字符串。

linux 错误处理的更多相关文章

  1. 【转载】重置密码解决MySQL for Linux错误 ERROR 1045 &lpar;28000&rpar;&colon; Access denied for user &&num;39&semi;root&&num;39&semi;&commat;&&num;39&semi;localhost&&num;39&semi; &lpar;using password&colon; YES&rpar;

    重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...

  2. 重置密码解决MySQL for Linux错误 ERROR 1045 &lpar;28000&rpar;

    重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...

  3. 【linux错误解决】MySQL远程连接ERROR 2003 &lpar;HY000&rpar;&colon;Can&&num;39&semi;t connect to MySQL server on&&num;39&semi;XXXXX&&num;39&semi;的问题

    问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.x ...

  4. 重置密码解决MySQL for Linux错误 ERROR 1045 &lpar;28000&rpar;&colon; Access denied for user 'root'&commat;'localhost' &lpar;using passwor

    一般这个错误是由密码错误引起,解决的办法自然就是重置密码. 假设我们使用的是root账户. 1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下: #vim /etc/my.cnf(注:wi ...

  5. 重置密码解决MySQL for Linux错误 ERROR 1045 &lpar;28000&rpar;&colon; Access denied for user &&num;39&semi;root&&num;39&semi;&commat;&&num;39&semi;localhost&&num;39&semi; &lpar;using password&colon; YES&rpar;

    出现报错: Warning: World-writable config file '/etc/my.cnf' is ignored // 该文件权限过高ERROR 1045 (28000): Acc ...

  6. MySQL linux错误处理

    https://cloud.tencent.com/developer/article/1023732 mysql5.7 ERROR 1045 (28000): Access denied for u ...

  7. Linux 错误: &dollar;&&num;39&semi;&bsol;r&&num;39&semi;&colon; command not found

    是linux无法解析$'\r'.这其实是windows与linux系统的差异导致的. 因为linux上的换行符为\n,而windows上的换行符为\r\n.所以脚本到linux上就无法解析了. 通常的 ...

  8. linux错误&colon; locate&colon; can not stat &lpar;&rpar; &grave;&sol;var&sol;lib&sol;mlocate&sol;mlocate&period;db&&num;39&semi;&colon; No such file or directory

    命令 locate my.cnf 产生以上错误 此时执行 # updatedb 更新下数据库即可

  9. linux 错误总结

    帝国cms登录后台提示“登录成功”,接着又提示“您还未登录” 把帝国cms文件夹下的/e/data/adminlogin 目录权限不可写导致,请将此目录权限设置为777权限即可解决.就可以正常登录后台 ...

随机推荐

  1. iOS-APP发布应注意

    地区范围文件不用填 电话号码前缀是86

  2. &lbrack;System&rsqb; CentOS虚拟机系统克隆后的网络配置

    VMware Workstation 虚拟机在进行克隆 CentOS 系统之后,在克隆机上配置网卡时,会出现一些细节问题,讨论一二. 一.情景描述 克隆机上默认由 NetworkManager 服务管 ...

  3. 链表的C&plus;&plus;实现——创建-插入-删除-输出-清空

    注:学习了数据结构与算法分析后,对链表进行了C++实现,参考博文:http://www.cnblogs.com/tao560532/articles/2199280.html 环境:VS2013 // ...

  4. java微信接口之二—获取用户组

    一.微信获取用户组接口简介 1.请求 该请求也是GET方式请求.请求的url格式如下: https://api.weixin.qq.com/cgi-bin/groups/get?access_toke ...

  5. POJ3038 Flying Right

    Description Figuring that they cannot do worse than the humans have, Farmer John's cows have decided ...

  6. initMethod 和 afterPropertiesSet 以及 AwareMethod方法的执行时机

    在spring开发中,我们定义bean 经常会需要用到beanFactory对象,这就需要实现BeanFactoryAware这种类型的接口,它有一个setBeanFactory方法   在xml中配 ...

  7. HighChar 案例

    Highchars //前台 <script> $(function () { //showChat(); initChat(); showPie(); initPie(); }) fun ...

  8. Linux 下 fcitx 崩溃

    killall fcitx killall sogou-qimpanel fcitx & 输入以上命令

  9. web 常用颜色

    1. 推荐链接 RGB颜色值与十六进制颜色码转换工具 Web上16种基本颜色名称 WEB标准颜色 2. 个人常用 除了三原色,还有 #daf1ef#4DBCB0#ccc

  10. Pyhton基础知识(一)

    Pyhton基础知识(一)一.cpu 内存 硬盘 操作系统之间的关系1.cpu *处理器 运算中心与控制中心 相当于人的大脑.2.内存 暂时存储数据 将应用程序加载到内存 以便于cpu进行数据传输交 ...