包裹函数

对于“包裹函数”UNP给出的解释是:

既然发生错误时终止程序的运行是普遍的情况,我们可以通过定义包裹函数(wrapper function)来缩短程序。每个包裹函数完成实际的函数调用,检查返回值,并在发生错误时终止进程。我们约定包裹函数名是实际函数名的首字母大写形式。

对于这个包裹函数,理解是:
自己封装一个函数,这个函数的参数和要引用的函数是一样的,但是在要引用的函数的基础上加入了错误判断的功能。

书中给出的例子是:

int Socket(int family,int type,int protocol)
{
    int n;
    if((n = socket(family,type,protocol)) < 0)
        err_sys("socket error");
    return (n);
}

这样一来,以后我们再要调用socket函数时,可以直接使用我们自己封装的包裹函数Socket(),好处是不用每次调用都要对是否socket成功做判断了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是一个很鸡肋的名称、出现在UNIX网络编程1中。 包裹函数 程序通常会检测调用是否正确,如果出输会将错误信息输出...
    hailiu13阅读 1,070评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,222评论 30 472
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,679评论 0 5
  • 最初接触理财,是因为自己是个“月光族”,总是攒不下钱,一想到自己唯一的收入来源就是工资,整个人都不好了。《富爸爸财...
    猫小开阅读 569评论 0 49
  • 在周五下午的课余时间,我翻开语文课本闲看,里面的:《综合性学习》是关于网络的学习,我饶有兴趣地看起来。 ...
    圆祥妈咪阅读 480评论 0 0