我希望我的代码能够处理错误情况,例如函数返回不成功。例如pthread_create
,通常我使用下面的函数:
int thread_check1;
pthread_t function;
thread_check1 = pthread_create( &function, NULL, function_function, NULL);
if(thread_check1 != 0){
fprintf(stderr, "pthread_create error\n");
exit(1);
}
考虑到错误情况,调用相同的函数直到它返回 0(对于这个特定函数)是否正确,如下所示?
thread_check1 = pthread_create( &function, NULL, function_function, NULL);
while(thread_check1 != 0){
thread_check1 = pthread_create( &function, NULL, function_function, NULL);
}
我可以将相同的逻辑应用于返回值的其他 C 函数吗?否则,您将如何建议在不退出程序的情况下处理错误情况(对于函数返回)?