一.包裹函数
任何现实世界的程序都必须检查每个函数调用是否返回错误。当错误发生时,就调用函数输错错误消息并终止程序运行。
错误发生时,终止程序的运行是普遍情况,我们可以通过第一包裹函数来缩短程序。每个包裹函数完成实际的函数调用,检查返回值,并在错误发生时终止进程。
二.例子:
int Sock(int family, int type, int protool)
{
int n;
if((n = socket(family, type, protool)) < 0)
err_sys("socket err");
return n;
}
三.结果:
1.使用包裹函数并不一定节省代码,但是可以使程序更易读,且可以避免疏忽而忘记检查返回值的情况。
2.将实现封装起来,调用方可无视具体实现,减少使用的复杂性。