setjmp与longjmp的使用

来源:互联网 发布:淘宝秒杀输入验证码 编辑:程序博客网 时间:2024/05/16 10:14
#include "stdafx.h" #include #include #include using namespace std; jmp_buf g_objJmp; void fun(); int main() { while (true) { switch (setjmp(g_objJmp)) { case -1: cout << "stop process err!" << endl; return -1; case 0: //run ok cout << "run succ" << endl; break; case 1: cout << "err 1" << endl; break; case 2: cout << "err 2" << endl; break; default: cout << "unknow err!" << endl; break; } Sleep(1000); fun(); } } void fun() { static int nTimes = 0; cout << "run times: " << nTimes << endl; int nVal = rand() % 3 + 1; nTimes++; if (10 == nTimes) { nVal = -1; } longjmp(g_objJmp, nVal); } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/andylin02/archive/2009/11/30/4905856.aspx
原创粉丝点击