免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lipingtababa
打印 上一主题 下一主题

[C] 你们会检查errno吗 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-10-27 17:15 |只看该作者
没有errno,你怎么知道你具体错在什么地方?

论坛徽章:
0
12 [报告]
发表于 2008-10-27 19:23 |只看该作者
所有错误处理机制,都不怎么好用。。

论坛徽章:
0
13 [报告]
发表于 2008-10-27 20:04 |只看该作者

回复 #12 雨过白鹭洲 的帖子

很多系统调用也好、库函数也好,在出错时可能会有多种原因,所以设计的时候会有多个返回值。
如果没有errno,给你个返回值 -9, 你会知道哪里出问题了吗?

errno的出现,可以说很方便我们调试程序的。也只是告诉我们哪里有问题,是需要我们自己写程序在自己的代码里来真正解决问题的。

操作系统的错误处理机制在其内部是做的比较漂亮的,只是外部程序使用的时候可能会出现一些问题,操作系统也只能通过返回值来告诉使用者具体出了哪样的问题,底层并不知道上层会怎么用,当然也没法为其处理。

论坛徽章:
0
14 [报告]
发表于 2008-10-28 21:23 |只看该作者
如果没有errno,给你个返回值 -9, 你会知道哪里出问题了吗?

-----------errno设置了,你也不知道是什么问题,还是得perror看字符串才知道.

我讨厌erno的地方是,你得先检查返回值,判断它出错了,再去读errno,有两步.

论坛徽章:
0
15 [报告]
发表于 2008-10-28 22:46 |只看该作者
errno要看情况考虑的, 设置了全局errno本身就是为了勘误使用的, 返回结果也是~ 当需要具体信息的时候, 作为调用者来说可以通过errno获取具体信息~~ 自己书写代码时, 为了让调用者更为知道具体的错误, 方便反馈或者勘误, 也应该使用errno, 方便其他人阅读使用..... 哈哈, 作为使用者来说, 不需要太详细的话, 忽略就足够了, 因为返回值更为概括内容

论坛徽章:
0
16 [报告]
发表于 2008-10-29 09:56 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
17 [报告]
发表于 2011-01-06 16:41 |只看该作者
没了errno,那么我许多程序的许多功能就没法实现了。
谁说要用perror看字符串才知道错误?有时候只需要比较errno的值就可以了。
lz要蛋定,既然是存在的,能用就用,不能用就拉倒,好像没有人非要你用吧。

论坛徽章:
0
18 [报告]
发表于 2011-01-06 19:02 |只看该作者
兰州你用什么c呢,java多适合你

论坛徽章:
0
19 [报告]
发表于 2011-01-06 19:25 |只看该作者
保留下来方便以后查看错误...

论坛徽章:
0
20 [报告]
发表于 2011-01-06 20:49 |只看该作者
errno有些时候是必须的,因为有些库函数返回值并不能表示出错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP