在C/C++中,明明用printf就可以输出错误信息,为什么还要专门写一个函数来输出错误信息?

2023年7月17日,周二下午

今天在看《TCP/IP网络编程时》,突然有一个问题:明明用printf就可以输出错误信息,为什么还要专门写一个函数error_handling来输出错误信息? 


目录

 error_handling的函数原型:

error_handling的使用:

明明用printf就可以输出错误信息,为什么还要专门写一个函数error_handling来输出错误信息? 


 error_handling的函数原型:

void error_handling(char *message){
	fputs(message,stderr);
	fputc('\n',stderr);
	exit(1)
}

error_handling的使用:

如果发生错误,那么会以类似如下的方式来调用error_handling来输出错误信息

int len=read(sock,message,sizeof(message)-1);
if(len==-1)
    error_handling("read() error!");

明明用printf就可以输出错误信息,为什么还要专门写一个函数error_handling来输出错误信息? 

确实,printf也能完成输出错误信息的功能。但是如果专门写一个处理错误信息的函数,效果会更好,功能会更强大和完善。

error_handling可以把错误信息输出到stderr,而printf只能把错误信息输出到stdout;

error_handling在输出错误信息后,可以马上通过exit(1)终止程序。但是printf却不做到终止程序。

你可能感兴趣的:(我的博客,c语言,c++,开发语言)