包裹函数
【摘要】 在现实程序中,我们必须检查每个函数调用是否返回错误。由于碰到错误时终止程序执行是个惯例,因此我们可以通过定义包裹函数(wrapper function)来缩短程序的长度。包裹函数执行实际的函数调用,测试其返回值,并在碰到错误时终止进程。
GitHub: https://github.com/storagezhang
Emai: debugzhang@163.com
本文摘自《UNIX 网络编程 卷2:进程间通信》 1.6 节
在现实程序中,我们必须检查每个函数调用是否返回错误。由于碰到错误时终止程序执行是个惯例,因此我们可以通过定义包裹函数(wrapper function)来缩短程序的长度。包裹函数执行实际的函数调用,测试其返回值,并在碰到错误时终止进程。
这里使用的命名约定是将函数名第一个字母改为大写字母,例如:
void
Sem_post(sem_t *sem)
{
if (sem_post(sem) == -1) {
err_sys("sem_post error");
}
}
我们可改用宏代替函数,从而稍稍提高运行效率,不过即使有的话,包裹函数也很少是程序性能的瓶颈所在。
除了选择将函数名第一个字母大写外,还有许多其他方法:
- 用
e
作为函数名的前缀 - 用
_e
作为函数名的后缀
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)