是否有可能用C ++编写try,catch语句与定时器一样,如果函数无法执行(它被卡住)程序只是继续?
答案 0 :(得分:3)
是的,您可以使用Boost.Thread。
执行此操作特别注意timed_join功能。
答案 1 :(得分:0)
最强大的方法是在子进程中执行工作,等待子进程超时,然后终止它。
答案 2 :(得分:0)
KISS:
clock_t start = clock();
const int max_try_clocks = 5 * CLOCKS_PER_SEC; // 5 is the number of seconds
// we should keep trying for
try_again:
try {
// whatever you need to try
} catch (...) {
if (clock() - start < max_try_clocks)
goto try_again;
}