関数の戻りの失敗などのエラーケースをコードで処理できるようにしたいと思います。たとえば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関数に同じロジックを適用できますか?それ以外の場合、プログラムを終了せずに(関数が戻るための)エラーケースを処理することをどのように提案しますか?