Cで次のようなことをしたい:
doSomthing(test_arg1); // first time
check_if_everything_good();
doSomething(test_arg2); // second time
check_if_everything_good();
doSomething(test_arg3); // third time
check_if_everything_good();
アイデアは、doSomething() を呼び出した後、check_if_everything_good() を呼び出して、関数呼び出しが他のものを破損していないことを確認したいということです。doSomething() が何かを壊した場合、check_if_everything_good() は 2 回目の doSomething() 呼び出しの前に戻ります。
ただし、doSomething() の後に毎回 check_if_everything_good() を呼び出すことは避けたい {check_if_everything_good は高価です}。Cでこれを効率的に達成する方法はありますか? Javaのtry/catchのようなものかもしれません